Скачивание файлов с сервера

BIC

Новичок
Имеется скрипт для загрузки файлов на сервер. Скрипт корректно заливает файлы на сервер (любого размера), а вот со скачиванием этих файлов проблема, а именно: если файл менее 20-30 Мб - он скачивается нормально, если более - выходной файл вест до 1 кб. В чем может быть трабл?

Использую код для скачивания:

PHP:
<?php
header('Content-type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.$qfile['fullname'].'"');
header('Content-Length: '.$qfile['size']);
file_get_contents("files/".$qfile['name']);
?>
 

Ragazzo

TDD interested
Может не хватать памяти отведенной скрипту
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)
 

phprus

Moderator
Команда форума
Ragazzo
Не надо советовать ересь.

BIC
Открой выходной файл блокнотом и посмотри, какая там ошибка. После чего логически подумай, зачем читать весь файл в память прежде чем отдать его клиенту, если рядом в мане описана к примеру функция readfile.
А если тебе знакомы слова Nginx и он используется, то почитай про X-Accel-Redirect.
 

BIC

Новичок
Все, спасибо за помощь. Причина проблемы - человеческий фактор. Тему можно удалять.
 

Ragazzo

TDD interested
phprus
Т.е этого не могло случится например из-за нехватки скрипту памяти когда он считывает громадный объем?
 

Ragazzo

TDD interested
Тогда я не понял сути претензии ко мне...я просто привел пример конфиг-настройки, которая за ето отвечает, но не рекомендовал увеличивать ее до неимоверной...
 

phprus

Moderator
Команда форума
Ragazzo
Суть претензии к тебе, в том, что ты бездумно ответил на прямо поставленный вопрос, хотя у ТС проблема не в возникающей ошибке, а в постановке вопроса.
Автору темы нужно было решить задачу отдачи файлов, а не отсрочить возникновение ошибки ограничения памяти. А эта задача решается совсем не приведенной тобой настройкой, а небольшой модификацией алгоритма, как я и написал в своем сообщении.
 

Ragazzo

TDD interested
phprus
Я указал на проблему, а именно в чем ошибка, а не стал приплетать сюда кучу алгоритмов. Вопрос был поставлен так:
>>В чем может быть трабл?
а ты начал сюда же и nginx приплетать, я вообще сомневаюсь что ТС знает что это, поэтому бездумно ответил ты своими словами:
>>Открой выходной файл блокнотом и посмотри, какая там ошибка
вопрос закрыт
 
Сверху