загрузка файла из php не работает должным образом - PullRequest
0 голосов
/ 20 января 2019

вот мой код:

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, но я загружаю файл размером 64 КБ каждый раз. Я поместил эту строку над моим сценарием:

$file = '../uploads/files/' . $filename;
echo "FileSize: " . filesize($file);
exit();

И на нем отображается 17566342, нужного размера.

Эта проблема появляется, когда я совершил большую ошибку в plesk, я запустил эту команду:

chown -R 10003:1003 /

Вся моя система вышла из строя, я мог восстановить ее, обновив plesk, и запустил:

plesk repair fs

Но с тех пор мой скрипт загрузки не работает должным образом.

Я проверил права, каталог загрузок - 755, каталог файлов - тоже 755, файл - 644.

...