Я запускаю блог в WordPress. Для загрузки некоторых файлов из моего блога сначала загружаю файлы на свой сервер в папке / загрузках. Затем я свяжу файл в своем сообщении. Когда пользователь нажимает кнопку загрузки, начинается загрузка. Но проблема в том, что он не показывает размер файла. Он показывает только, сколько загружено. Я установил ссылку ниже, чтобы проверить.
Сайт находится в WordPress. Хостинг на Godaddy.
Пример сообщения (см. Ссылку для загрузки): http://www.tekyfox.com/android/bug-fixed-moto-g-boot-animation-change-updating/
Спасибо, тонна богатая. Это сработало для меня! Я выполнил указанную вами ссылку: «Загрузка файлов с сервера Apache не показывает общее количество» . В первом ответе, указанном там, говорится добавить следующую строку в файл .htaccess:
SetEnv no-gzip dont-vary
Это оно! Это сделал трюк. Еще раз спасибо. Это была огромная головная боль с последних 4-5 дней.
Создайте файл PHP локально, используя следующее:
$file = file_get_contents('http://www.tekyfox.com/downloads/motorola_boot_animation.apk'); header('Content-Disposition: attachment; filename=test.apk'); header('Content-Type: application/vnd.android.package-archive'); header('Content-Length: '.strlen($file)); echo $file;
Сделайте другой файл с ссылкой на ссылку на этот локальный файл PHP. Посмотрите, есть ли у вас такая же проблема. Если нет, возможно, это связано с тем, что браузер не знает размер файла, пока сервер не закроет соединение.
Если вы напрямую связываетесь с файлом в каталоге «downloads» или подобном, это не проблема PHP, а проблема с конфигурацией вашего веб-сервера (например, Apache или nginx
).
См. https://superuser.com/questions/617327/why-do-some-downloading-files-not-know-their-own-size для обсуждения механики и заголовков HTTP.
Чтобы исправить это, вам нужно знать:
curl
, например curl -v http://...
или в Chrome devtools) Некоторые подобные вопросы, которые могут ответить на вашу проблему: