在 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 并将 post_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()
不在这里工作。