$kite = "INSERT INTO `download` (name,email,contact,program,city,state)
VALUES ('" . $_POST['name'] . "','" . $_POST['email'] . "','" . $_POST['mobile'] . "','" . $_POST['program']."','" . $_POST['city']."','" . $_POST['state']."')";
$query=mysqli_query($sql,$kite);
if ($query)
{ ?>
<meta http-equiv = "refresh" content = "3;/pdf/quadcopter.pdf" download>
<?php
}
Предположим, что вы хотите загрузить файл после отправки формы:
$kite = "INSERT INTO `download` (name,email,contact,program,city,state)
VALUES ('" . $_POST['name'] . "','" . $_POST['email'] . "','" . $_POST['mobile'] . "','" . $_POST['program']."','" . $_POST['city']."','" . $_POST['state']."')";
$query=mysqli_query($sql,$kite);
if ($query) {
header('Content-Description: File Transfer');
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename = "quadcopter.pdf"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize("/path/to/quadcopter.pdf"));
readfile("/path/to/quadcopter.pdf");
die();
} else {
// query error
}
Два наблюдения здесь:
pdf загружается.. но ничего не загружается.. pdf находится на сервере
Насколько я понимаю, у вас на сервере есть pdf-файл, который вы хотите скачать. Можете ли вы объяснить, что вы подразумеваете под «он не может ничего загрузить?»
Вы случайно не хотите начать загрузку и показать что-то пользователю?
см.. что-то загружается.. когда я открываю загруженный файл.. он говорит, что не удалось загрузить PDF-документ.
все мои pdf находятся в папке pdf
Это означает, что проблема с файлом на сервере. Попробуйте открыть загруженный файл (не файл на сервере, а файл, который был загружен браузером) текстовым редактором, а не приложением pdf, и проверьте, не вывел ли там php-скрипт какую-либо ошибку.
я открыл на возвышенном
Какой html код? Как я уже говорил, вы не должны ничего выводить в свой скрипт. Все, что вы повторяете, попадает в загруженный файл. Строка readfile(filename) считывает файл из вашего хранилища, автоматически повторяя содержимое. Если вы повторите что-либо еще, ваш окончательный файл будет поврежден.
Я обновил код в ответе, добавил строку die() после функции readfile().
код, который я написал в запросе.. открывает файл PDF.. что мне делать
Как я уже сказал, вы не можете вывести html-код и загрузить файл из того же php-скрипта. Если вы хотите отобразить подтверждающее сообщение в браузере (например, операция прошла успешно) и загрузить файл, вам нужно выполнить 2 шага. Первый php-скрипт делает запрос и выводит html-код пользователю. Выведенный html содержит javascript, который открывает новую вкладку и загружает второй файл php, который выводит pdf. Таким образом, пользователь видит html-код и предлагает загрузить файл.
что я хочу, так это то, что у меня есть моя веб-страница. Когда пользователь нажимает кнопку, создается всплывающая форма, в которой пользователь заполняет детали. Если введена кнопка отправки, значения должны поступать в базу данных. должен автоматически загружаться который находится на сервере
Если вы просто хотите скачать, то код, который я указал в ответе, — это все, что вам нужно. Можете ли вы обновить свой вопрос со всем php-скриптом после того, как вы сделали предложенную мной модификацию?
возможно, заголовок не может указать путь к pdf
Если путь к файлу pdf неверный, то загруженный файл будет содержать какой-то текст, который будет говорить об этом. Вы уверены, что загруженный файл содержит ваш html-код, а не php-ошибку, отформатированную как html. Чтобы проверить это, измените расширение загруженного файла с pdf на html и откройте его в своем браузере, а затем работайте с ошибкой, которую вы видите.
четко упомяните свой запрос с правильными фрагментами кода