上传大文件时出现奇怪的问题
我在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);
我甚至试图增加max_execution_time
。不过,我遇到了同样的问题。 ini_set()
不在这里工作。
没有找到相关结果
已邀请:
4 个回复
布埃郝卞簿
襄挟款籍
。 如果文件超过该值,则上传可能会在到达PHP之前被阻止。 Apache文档
吐兄
更改的值不能使用
更改。 在php.ini指令列表中,它们被报告为类型
,这意味着(如可以设置配置设置中所述)可以在php.ini,.htaccess或httpd.conf中更改它们。可以使用
更改的配置设置是标记为
的设置。
嗓瑰
和