Я создаю сайт на своем локальном хосте, который должен позволить людям загружать некоторые .rar-файлы.php download link to rar
В моем индексе я создал некоторые теги, как это:
$filename = "Test001.rar";
<a href="download.php?file='.$filename.'">'.$filename.'</a>';
Это просто пример одного файла, но в моем PHP файл «download.php» У меня есть проблема, когда Я хочу, чтобы загрузить файл .rar
Это download.php
<?php
echo "Welcome to Knowledge!";
if (isset($_GET['file']) && basename($_GET['file']) == $_GET['file'])
{
$file = $_GET["file"];
$path = 'C:\xampp\htdocs\TestSite'."\\".$file;
}
$err = $path.'Sorry, the file you are requesting doesnt exist.';
if (file_exists($path) && is_readable($path))
{
//get the file size and send the http headers
$size = filesize($path);
header('Content-Type: application/x-rar-compressed, application/octet-stream');
header('Content-Length: '.$size);
header('Content-Disposition: attachment; filename='.$file);
header('Content-Transfer-Encoding: binary');
readfile($filename);
}
?>
Он открывает поток в правильном направлении, но я понимаю, что размер файла составляет около 200 байт, а не по всей длине, что около 200MB.
Как исправить эту проблему?
Что произойдет, если вы хотите скачать файл? вы до сих пор получаете 200-байтовый неполный файл? –
Нет, он загружает файл rar размером 200 байт или что-то в этом роде –
Откройте файл в текстовом редакторе и посмотрите, действительно ли это текст с сообщениями об ошибках –