У меня есть форма, в которой пользователь выбирает изображения, которые он хочет загрузить, а затем 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">
Это работает.