Задать вопрос
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();
  • Вопрос задан
  • 284 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@neol
Вероятно у вас используются сессия и она не закрывается перед отдачей файла.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽