Начать загрузку автоматически, когда пользователь переходит на другую страницу - PullRequest
2 голосов
/ 23 июля 2010

Мне было интересно, как добиться эффекта, который я видел на нескольких веб-сайтах, где я нажимаю ссылку «Загрузить сейчас», она переводит меня на другую страницу и загрузка начинается автоматически. Каков наилучший способ сделать это?

Ответы [ 2 ]

7 голосов
/ 23 июля 2010

Перенаправление на страницу, которая генерирует следующие заголовки:

header("Content-Disposition: attachment; filename=$filename");
header("Content-Length: $length");

См. этот пост об ограничениях на $filename.

edit в ответ на ответ andr, php-эквивалент redirect-after-x-секунд будет:

header("Refresh: 2; url=start_download.php");

(хотя я думаю, что вы должны официально указать полный URL-адрес), где start_download.php будет содержать две строки выше.

3 голосов
/ 23 июля 2010

Сначала вы показываете страницу с некоторым содержанием (пожалуйста, подождите, бла-бла), а затем перенаправляете на сам файл или на скрипт, который выводит файл.Перенаправление осуществляется либо через метатег, либо через javascript:

  1. html: <meta http-equiv="refresh" content="5;url=http://example.com/foo.zip" />, где «5» - в секундах
  2. js при загрузке страницы: setTimeout("location.href=http://example.com/foo.zip", 5000), где «5000»в миллисекундах.

Если вы хотите вывести файл с помощью php-скрипта, следуйте ответу mvds.

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