Небольшой скрипт, используемый для отправки пользователю одного из двух файлов .pdf на основе строки get:
if ($fileToSend == "bigone") {
$filename = "largefile.pdf";
$header = "application/pdf";
} else if ($fileToSend == "smallone") {
$filename = "smallfile.pdf";
$header = "application/pdf";
}
if (file_exists('d/' . $filename)){
header('Content-type: ' . $header);
header('Content-disposition: attachment; filename=' . $filename);
readfile('d/' . $filename);
} else {
echo('No good');
}
Оба файла d / smallfile.pdf и d / largefile.pdf существуют.smallfile.pdf составляет около 5 мг.largefile.pdf составляет около 25 мг.
sendFile.php? FileToSend = smallone работает.
sendFile.php? FileToSend = bigone не работает;в FF он говорит:
Файл не найден. Firefox не может найти файл в [url] /sendFile.php?fileToSend=bigone
Нет ошибок в имени файла.
Я пробовал
- Добавление flush ();до чтения файла;это вызывает диалоговое окно загрузки файла, но затем служит 0-байтовым файлом
- Добавление flush ();перед файлом чтения и добавлением заголовка ('Content-Length:'. filesize ('d /'. $ filename));- это работает успешно, но на обработку уходит около 2 минут (т. е. как только я нажимаю на URL, в течение 2 минут ничего не происходит, а затем появляется диалоговое окно с актуальным файлом для загрузки в нем правильно).
Любая помощь будет высоко ценится.Jon