Чтобы поделиться файлами с друзьями, у меня есть простая система, в которой можно ввести пароль, этот пароль отправляется через POST для себя (action=""
) и пароль сверяется с базой данных. Если правильно, соответствующий файл будет загружен с:
header('Content-Type: application/zip');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-Length: '.filesize($filename) );
readfile($filename);
Теперь у меня есть несколько предупреждений об ошибках (Bootstrap), когда пароль, например, неверно (тогда загрузка файла, конечно, пропускается). Но я хочу также отображать предупреждение, когда пароль правильный.
Но когда я пытаюсь добавить HTML с php, когда я также изменяю заголовок и читаю файл, ничего не появляется.
Любые предложения о том, как это исправить? Спасибо!
(Извините, у меня нет 50 репутации, поэтому я должен опубликовать ответ)
Вы пытались перенаправить на другую страницу с помощью JavaScript?
На этой странице вы можете разместить свое предупреждение
Ответ на запрос HTTP представляет собой один ответ. На каждый запрос HTTP есть только один ответ.
Ответ может быть либо HTML-страницей, содержащей ваше предупреждающее сообщение, либо загрузкой, как вы уже делаете.
Типичный подход, который используется для реализации такого рода функций, — это возврат HTML-ответа, содержащего сообщение; и с директивой обновления в <head>
элемент, который заставляет браузер выдать второй запрос, что приводит к загрузке.