PHP скачать блокирует остальные запросы - PullRequest
3 голосов
/ 16 августа 2011

Я загружаю файлы со своего сервера с помощью очень простого сценария:

header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($fichero));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);

Он работает нормально, но пока браузер загружает файл, я не могу просматривать сайт или загружать другие файлы с того жесервер.Я должен ждать, пока это не закончится.Это происходит в Chrome и Firefox, и я также использовал другие методы для загрузки файлов с помощью PHP, но со всеми из них у меня есть эта проблема ... поэтому я полагаю, что это проблема на сервере ??

Спасибоочень заранее:)

1 Ответ

15 голосов
/ 16 августа 2011

Это потому, что вы используете сеансы PHP, и хотя сеанс для одного пользователя открывается в одном запросе, этот же сеанс нельзя открыть в другом запросе.

Выполните session_write_close () перед readfile ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...