php 上传大文件主要涉及配置upload_max_filesize和post_max_size两个选项

时间:2019-03-19
本文章向大家介绍php 上传大文件主要涉及配置upload_max_filesize和post_max_size两个选项,主要包括php 上传大文件主要涉及配置upload_max_filesize和post_max_size两个选项使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

转自: http://blog.sina.com.cn/s/blog_6c739e63010137ui.html

php手册上传错误资料:http://php.net/manual/zh/features.file-upload.errors.php

http://php.net/upload-max-filesize

Maximum number of files that can be uploaded via a single request

max_file_uploads = 20  :单个请求时,允许上传的最大文件数 ;

Maximum allowed size for uploaded files.

upload_max_filesize = 64M,允许上传你的最大文件大小 ; 

; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.

post_max_size = 3M, 表单允许上传的最大文件大小,官方解释:http://php.net/post-max-size

 
总结:php.ini配置文件中的默认文件上传大小为2M, 默认upload_max_filesize = 2M,即文件上传的大小为2M,如果你想上传超过8M的文件,比如20M,你必须设定upload_max_filesize = 20M。但是光设置upload_max_filesize = 20M还是无法实现大文件的上传功能,你必须修改php.ini配置文件中的post_max_size选项,其代表允许POST的数据最大字节长度,默 认为8M。如果POST数据超出限制,那么$_POST和$_FILES将会为空。要上传大文件,你必须设定该选项值大于 upload_max_filesize指令的值,我一般设定upload_max_filesize和post_max_size值相等。另外如果启用 了内存限制,那么该值应当小于memory_limit选项的值。

 文件上传的其他注意事项

  在上传大文件时,你会有上传速度慢的感觉,当超过一定的时间,会报脚本执行超过30秒的错误,这是因为在php.ini配置文件中max_execution_time配置选项在作怪,其表示每个脚本最大允许执行时间(秒),0 表示没有限制。你可以适当调整max_execution_time的值,不推荐设定为0。