这是我的代码:
ob_start();
$mm_type="application/octet-stream";
$file = '../uploads/files/' . $filename;
header("Cache-Control: public, must-revalidate");
header("Pragma: no-cache");
header("Content-Type: " . $mm_type);
header("Content-Length: " .(string)(filesize($file)) );
header('Content-Disposition: attachment; filename="'.$filename.'"');
header("Content-Transfer-Encoding: binary\n");
ob_end_clean();
readfile($file);
该脚本触发下载,但是文件大小不正确。 我的文件必须为17Mo,但每次都下载64Kb文件。 我将此行放在脚本上方:
$file = '../uploads/files/' . $filename;
echo "FileSize: " . filesize($file);
exit();
它显示正确的尺寸17566342。
当我在plesk上犯了一个大错误时,我运行了以下命令:
chown -R 10003:1003 /
我的所有系统都已关闭,我可以通过更新plesk并运行来修复它:
plesk repair fs
但是从那以后,我的下载脚本无法正常工作。
我检查了权限,上载目录为755,文件目录也设置为755,文件设置为644。