Создать страницу перенаправления загрузки - PullRequest
0 голосов
/ 26 августа 2011

У меня есть форма, в которой пользователь выбирает изображения, которые он хочет загрузить, а затем process_form.php выполняет грязную работу по созданию zip-файла и помещению изображений, которые пользователь хотел в этот zip-файл, и, наконец, готовит загрузку., например так:

header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=images.zip");
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: binary");
readfile("images.zip"); 

Загрузка происходит, как только пользователь нажимает кнопку «Отправить» в форме.

Я хочу создать страницу, которая скажет что-то вроде:

Ваша загрузка начнется автоматически.Если этого не произойдет, нажмите здесь.

Совет, который я получил, - создать «промежуточную» страницу, которая затем запускает загрузку с использованием javascript.

location.href='process_form.php'

Ok, Готово.Итак, теперь эта новая «промежуточная» страница создает zip-файл и создает его на сервере, отображает «загрузка должна быть завершена», а javascript перенаправляет на файл process_form.php.НО, все, что я вижу, - это пустая страница, даже несмотря на то, что на промежуточной странице есть HTML, после закрытия} бита if(isset($_POST) PHP ....... Итак, почему моя страница пуста?

Решение

Вместо этого используйте HTML.

<meta http-equiv="refresh" content="5;url=process_ads.php"> 

Это работает.

Ответы [ 2 ]

0 голосов
/ 04 июня 2015

Попробуйте это

header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=images.zip");
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: binary");
readfile("images.zip");
header("refresh: 2; url=process_form.php"); 
0 голосов
/ 26 августа 2011

Из собственного ответа ОП:

Решение

Вместо этого используйте HTML.

<meta http-equiv="refresh" content="5;url=process_ads.php"> 

Это работает.

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