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