mr-volevach
@mr-volevach
web-developer

Почему блокируется весь сайт при отдаче файла?

Добрый день, помогите пожалуйста.
Пытаюсь реализовать выдачу файла на скачивание.
Уже получилось реализовать но вот после возникла проблема.
После того как начинается скачивание полностью виснет страница и пользователь никак не может перейти на другую страницу или же обновить текущую до полного завершения скачивания.

Файлы беру с внешнего домена ниже код выдачи.

Дело в том что на другом домене этот код работает нормально и не блокирует страницу.
А тут вчера весь день гуглил и так и ничего не нашел.

Подскажите пожалуйста в какую сторону копать.

Заранее благодарен.

if ($fd = fopen($file, "r")) {
		$path_parts = pathinfo($file); 
		 // заставляем браузер показать окно сохранения файла
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename=' . $path_parts['basename']);
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . $filesize);
    // читаем файл и отправляем его пользователю
    while (!feof($fd)) {
      print fread($fd, 1024);
    }
    fclose($fd);	
	}
	die();
  • Вопрос задан
  • 277 просмотров
Решения вопроса 1
@neol
Вероятно у вас используются сессия и она не закрывается перед отдачей файла.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы