zoukankan      html  css  js  c++  java
  • php学习笔记:文件的上传(包含设置文件的上传大小限制)

    今天写的是文件上传,前几天自学的正规则又忘记了,用了很笨的方法去判断格式,直接上代码:

    <?php
    /**
     * Created by PhpStorm.
     * User: Administrator
     * Date: 16-9-12
     * Time: 上午10:01
     *
     * 文件上传
     *
     */
    
    
    
    
    ?>
    
    
        <form action="upload.php" method="post" enctype="multipart/form-data">
            上传文件:<input type="file" name="file" id="file">
            <br/>
            <input type="submit" name="subbtn" value="上传">
        </form>
    
    
    <?php
    
    if(isset($_POST['subbtn'])){
    
        echo $_FILES['file']['type']."<br/>";
    
        /*
         * JPG image/jpeg
         * GIF image/gif
         * PNG image/png
         *
         */
    
    
    
        //文件上传处理程序:
        //$_FILES['file']['type']  上传文件的类型
        //$_FILES['file']['size']  上传文件的大小
    
        //$_FILES['file']['error']  上传错误代码
        //$_FILES['file']['name']   上传文件名
    
        //$_FILES['file']['tmp_name'] 临时文件名
    //$fileName="a.TXT";
    //$pos = strrpos($fileName,".");
    //$ext = strtolower(substr($fileName,$pos));
    //
    
        $file = $_FILES['file'];
        $fileName=$file['name'];
        echo '后缀切割前:'.  $file['name']."<br/>";
        //确定最后一个.出现的位置
        $pos = strrpos($file['name'],'.');
        //转换文件名为小写
        $ext = strtolower(" $fileName");
        //提取文件名后缀
        $fileExten=substr($ext,$pos+2);
    
        //判断文件后缀时候符合特定要求,这里设置为:jpg jpeg doc
        if($fileExten=='jpg'||$fileExten=='jpeg'||$fileExten=='doc' ){
    
            echo "文件后缀:". $fileExten. "<br/>";
            echo "文件类型:". $file['type']."<br/>";
            echo "文件大小:". $file['size']."<br/>";
            echo "错误代码:". $file['error']."<br/>";
            echo "文件名:". $file['name']."<br/>";
            echo "临时文件名:". $file['tmp_name']."<br/>";
    
            move_uploaded_file($file['tmp_name'], "files/".$file['name']);
    
        }else
            echo "文件格式不对";
    }
    
    ?>

     

     格式不对的,直接被拦截。

    如果要修改上传的文件大小限制,可以参考下面的做法:

    1. 一般的文件上传,除非文件很小.就像一个5M的文件,很可能要超过一分钟才能上传完.
    但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止执行.
    这就导致出现 无法打开网页的情况.这时我们可以修改 max_execution_time
    在php.ini里查找
    max_execution_time
    默认是30秒.改为
    max_execution_time = 0
    0表示没有限制
    2. 修改 post_max_size 设定 POST 数据所允许的最大大小。此设定也影响到文件上传。
    php默认的post_max_size 为2M.如果 POST 数据尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便会为空.
    查找 post_max_size .改为
    post_max_size = 150M
    3. 很多人都会改了第二步.但上传文件时最大仍然为 8M.
    为什么呢.我们还要改一个参数upload_max_filesize 表示所上传的文件的最大大小。
    查找upload_max_filesize,默认为8M改为
    upload_max_filesize = 100M
    另外要说明的是,post_max_size 大于 upload_max_filesize 为佳.

  • 相关阅读:
    CSDN博客QQ加群、微信
    Angularjs 中的 controller
    hdu 1728 逃离迷宫 bfs记转向
    【BLE】CC2541之加入自己定义任务
    asp.net给文件分配自己主动编号,如【20140710-1】
    <html>
    机器学习入门阶段程序猿易犯的5个错误
    时间复杂度
    Jackcard类似度和余弦类似度(向量空间模型)的java实现
    【分层图】分层图学习笔记
  • 原文地址:https://www.cnblogs.com/jianqingwang/p/5863960.html
Copyright © 2011-2022 走看看