Загрузка файлов с помощью PHP - загрузка только по одному за раз!
У меня есть PHP-файл, который обслуживает файл, но проблема в том, что независимо от того, какой браузер используется, если вы нажмете на 2 ссылки, которые ведут к 2 отдельным файлам, вторая загрузка не начнется, пока не будет завершена первая! Есть идеи?
Скачать Код
header('Content-Type: application/octet-stream');
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename="'.basename($filename).'"');
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($fullpath));
readfile($fullpath);
Примеры Ссылок
- Ссылка 1: download.php?файл загрузки=1
- Ссылка 2: download.php?файл загрузки=2
1 answers
Для этого могут быть разные причины.
Вы используете сеансы. Поэтому только одному сценарию за раз разрешается изменять сеанс. Таким образом, загрузка B может начаться только после завершения загрузки A. Пробовали ли вы две загрузки одновременно с загрузкой A в браузере A и загрузкой B в браузере B? Проверьте описание для session_write_close
Некоторая другая проблема HTTP, из-за которой ваш браузер не открывает несколько подключений к серверу, а повторно использует одно соединение, и таким образом, конечно, придется подождать, пока не завершится первый запрос.
Некоторые настройки ОС/веб-сервера, которые допускают только очень ограниченное количество открытых одновременных подключений как в целом, так и на один хост