PHP在进行大图文件上传功能开发时,需要注意哪些事情?

已邀请:

zkbhj - 凯冰科技站长

赞同来自:

1、form表单的enctype选择:
<form name="form" action="upload.php" enctype="multipart/form-data">
First name:<br>
<input type="text" name="firstname">
<br>
Last name:<br>
<input type="text" name="lastname">
<input type="file" name="image">
<input type="submit" value="提交">

</form>
form表头要设置enctype="multipart/form-data",表示文件以二进制的形式上传,这样可以实现多种类型的文件上传。 
2、php.ini需要设置的事项
 
php默认上传的最大图片为2M,实际情况中可能会遇到大于2M的文件上传。

我们需要修改如下选项:
file_uploads = On ;打开文件上传选项 (模式开启)
upload_max_filesize = 20M ;上传文件上限(默认为2M)
post_max_size = 20M ;post上限 (默认为8M)


要根据实际情况调整下面的选项:
max_execution_time = 180 ;脚本最大执行时间(秒),过短会导致文件还没上传完脚本就停止了(默认是30秒)。
max_input_time = 180 ;请求的最大传输时间,过短会导致文件还没上传完传输就停止了(默认是60秒)。
memory_limit = 128M ;内存上限

3、服务器配置
假如使用的是高性能的nginx服务器,需要做如下配置:
打开nginx的配置文件nginx.conf,在http{}中添加一个client_max_body_size 20m的配置项,并且重启nginx.service服务。

要回复问题请先登录注册