我正在使用带有 ajax 和 PHP 的上传脚本,它对于小于 80MB 的文件非常有用。但是,如果文件大于 80MB,它就会失败,它甚至根本不会输出任何东西。
代码是:
$maxsize = getMaxFileSize();
$finalfile = $uploadpath . $finalname;
$putdata = fopen("php://input", "r");
$fp = fopen($finalfile, "w");
$filesizecalc = 0;
while ($data = fread($putdata, 1024)) {
fwrite($fp, $data);
$filesizecalc = $filesizecalc + 1024;
}
fclose($fp);
fclose($putdata);
if ($filesizecalc <= $maxsize) {
addFile($_SESSION['userdata']['userid'], $finalname);
echo "$fn uploaded";
} else {
unlink($finalfile);
}
exit();
这适用于几乎所有 < 80 MB 的文件,但对于大于 80 MB 的文件,它不会输出任何东西,所以我什至不知道出了什么问题,即使我设置了
error_reporting(E_ALL | E_NOTICE);
ini_set('display_errors', 1);
ini_set('memory_limit', '1024M');
ini_set('upload_max_filesize', '1024M');
ini_set('post_max_size', '1024M');
ini_set('max_input_time', 10000);
ini_set('max_execution_time', 10000);