Принудительная загрузка приводит к повреждению rar-файлов
У меня огромная проблема. Когда я пытаюсь загрузить файлы с моего сервера, они повреждены.
$file_name = 'public/prijevodi/serije/' . $fajl;
switch(strtolower(substr(strrchr($file_name, '.'), 1)))
{
case 'rar': $mime = 'application/x-rar'; break;
case 'zip': $mime = 'application/zip'; break;
default: $mime = 'application/force-download';
}
header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private',false);
header('Content-Type: '.$mime);
header('Content-Disposition: attachment; filename="'.basename($file_name).'"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize($file_name));
readfile($file_name);
exit();
Это код для загрузки файлов, но когда я загружаю, он не работает. Файлы RAR загружаются, но когда я открываю, он говорит "Неожиданный конец архива", файлы.7z и zip даже не открываются, а только выдают ошибки.
Что я делаю неправильно? Благодарю.