Deb*_*sad 6 php file-upload ini-set
我在PHP中上传大文件时遇到了一个奇怪的问题.
在php.ini中,max_execution_time设置为30,post_max_size设置为32M,upload_max_filesize设置为32M.当我尝试上传大小为40.2 MB的文件时,它不会显示任何错误.该$_FILES变量的值array(0) { }和$_FILES['userfile']示出NULL.
如果文件大小超过php.ini中设置的值,则应返回错误消息
UPLOAD_ERR_INI_SIZE,值:1; 上传的文件超过了php.ini中的upload_max_filesize指令.
但它也没有显示任何错误(因为$_FILES是一个空数组).我不知道为什么会发生这种情况.
当我更改php.ini并将set_max_size设置为64M时,upload_max_filesize设置为64M,那么它工作正常.所以,我决定使用以下代码,而不是更改php.ini文件.
ini_set('upload_max_filesize', '64M');
ini_set('post_max_size', '64M');
ini_set('max_execution_time', 300);
Run Code Online (Sandbox Code Playgroud)
我甚至试图增加max_execution_time.不过,我遇到了同样的问题.ini_set()不在这里工作.
Vin*_*vic 20
要使40 MB文件因上传错误而失败,您必须增加post_max_size,如果超过该变量的值,则会得到一个空的$ _FILES数组.请参阅手册
如果发布数据的大小大于post_max_size,则$ _POST和$ _FILES超全局变量为空.
此外,ini_set()不能在那里工作,因为您尝试更改的两个变量是PHP_INI_PERDIR,因此需要在php.ini或.htaccess或httpd.conf中进行更改.您应该尝试使用例如.htaccess中的这些设置的40MB文件
php_value upload_max_filesize 32M
php_value post_max_size 64M
php_value max_execution_time 300
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8345 次 |
| 最近记录: |