私は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);