PHP简单文件上传

来源:互联网 发布:做淘宝客怎么拉微信群 编辑:程序博客网 时间:2024/05/29 07:11

    这边只给出一个简单文件上传的demo,文件如果过大可以考虑使用分片上传。

    HTML文件

<!DOCTYPE html><html lang="en">  <head>    <meta charset="utf-8" />    <title>demo</title>    <meta name="viewport" content="width=device-width, initial-scale=1.0" />  </head>  <body>    <form action="upload.php" method="post" enctype="multipart/form-data">      <input type="file" name="file" id="file" />       <br />      <input type="submit" name="submit" value="upload" />    </form>  </body></html>
    PHP后台

<?php  //重点说明 因为上传的是视频文件 所以文件大小会超出服务器及php的默认配置 需要手动修改配置  //php配置文件php.ini  //file_uploads on 是否允许通过HTTP上传文件的开关。默认为ON即是开  // upload_tmp_dir – 文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹  // upload_max_filesize 8m 望文生意,即允许上传文件大小的最大值。默认为2M  // post_max_size 8m 指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M   //如果是nginx服务器还需要修改nginx的配置文件 下面是我的nginx修改后的配置 加入了client_max_body_size 100m;  // server {  //     listen       83;  //     server_name localhost;  //     root /usr/share/nginx/html;  //     index index.php;  //     client_max_body_size 100m;  //     access_log /var/log/nginx/html-access.log;  //     error_log  /var/log/nginx/html-error.log;  //     location / {  //         try_files $uri $uri/ /index.php?$args =404;  //         #try_files $uri$args $uri$args/ index.php;  //     }  //     location ~ .*\.(php|php7.0)?$ {  //         #fastcgi_pass   127.0.0.1:9000;  //         fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;  //         include        fastcgi_params;  //     }  //     location ~ /\.(ht|svn|git) {  //             deny all;  //     }  // }  //修改完毕后要求重启php,以及服务器  // sudo service php7.0-fpm restart (ubuntu下)  // sudo service nginx restart(ubuntu下)  //当前脚本文件所在目录  define('ROOT_DIR', dirname(__FILE__) . DIRECTORY_SEPARATOR);  //上传后的文件数据对象 文件信息都保存在这个数组中  $file = $_FILES["file"];  //格式及大小验证 只接收mp4, rmvb格式 文件大小限制100M 如需添加或更改则在此修改  if (($file["type"] == "video/mp4" || $file["type"] == "video/rmvb") && $file["size"] < 100 * 1024 * 1024) {    //上传是否成功判断    if ($file["error"] > 0) {      echo "错误信息: " . $file["error"] . "<br />";    } else {      //文件是否已经存在      if (file_exists("upload/" . $file["name"])) {        echo $file["name"] . " 已存在. ";      } else {        //是否是通过表单提交的文件        if (is_uploaded_file($file['tmp_name'])) {          //保存路径拼接 要求upload目录权限为777          $save_path = ROOT_DIR . 'upload/' . basename($file['name']);          //使用函数将上传的临时文件保存到自定义的目录          if (move_uploaded_file($file['tmp_name'], $save_path)) {            echo "上传成功, 文件保存在: " . $save_path;          } else {            echo '文件上传失败';          }        } else {          echo '文件来源错误';        }      }    }  } else {    echo "无效文件,只支持mp4,rmvb格式的100M文件";  }?>


原创粉丝点击