@4ipS

Через readfile() можно отдавать несколько файлов?

Использую функцию readfile() для отдачи файла, перед этим сформировав заголовки.
Все прекрасно работает, переполнения памяти нету.
Но есть небольшая проблема. Если файл большой, а нужно отдать таких 3-5 файлов, то приходится ждать загрузки первого.
Перейду к практике:
1. нужно отдать 2 файла, размер которых > 100 mb
2. перед пользователем 2 ссылки на скачку, он нажимает по первой, начинается закачка первого файла
3. он нажимает на вторую ссылку, и тут, самое интересное, закачка второго файла не начнется пока не будет до конца загружен первый файл.
В чем может быть проблема? если не в readfile() то подскажите в какой стороне копать?
Спасибо за внимание )
  • Вопрос задан
  • 239 просмотров
Пригласить эксперта
Ответы на вопрос 3
Stalker_RED
@Stalker_RED
Может где-то стоит лимит на кол-во соединений? Или закачка первого файла полностью забивает канал?

Попробуйте выяснить отправляется ли запрос.
В браузере F12 → Network, и посмотреть начинается ли закачка.
Можно глянуть еще access.log вебсервера, в какой момент идет запрос. Или через wireshark посмотреть.
Ответ написан
Комментировать
smilingcheater
@smilingcheater
Вполне возможно что проблема с сессиями - PHP, при хранении сессии в файлах, подвешивает одновременные запросы кроме первого, пока первый не освободит сессию.
Ответ написан
Комментировать
@alegzz
если открывать для каждой ссылки отдельное окно? HTTP не умеет за сессию загружать 2 файла одновременно
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы