У меня есть форма, которая отправляет на PHP скрипт, который я хотел бы сделать следующее:Force загрузить PDF файл на отправить
- захват пользовательского ввода с помощью POST (сделано)
- отправить мне по электронной почте с данными пользователя (сделано)
- начать загрузку PDF из того же каталога, что и файл .php (test.pdf) - ПОМОЩЬ!
EDIT: FYI, я звоню PHP с помощью JQuery:
$.ajax({
type: "POST",
url: php_url,
data: $('#popForm').serialize(),
success: function(){
window.location.href = 'downloadpdf.php?file=test.pdf';
}
})
Вот код PHP, который захватывает пользовательский ввод с помощью POST и посылает его мне по электронной почте. Мне просто нужен раздел, который № 3, выше.
<?php
$email_PGi = "[email protected]";
$email_subject = "some email subject";
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$email_message = "The following is a new message received via the website:\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "First Name: ".clean_string($firstname)."\n";
$email_message .= "Last Name: ".clean_string($lastname)."\n";
// create email headers
$headers = 'From: '.$biz_email."\r\n".
'Reply-To: '.$biz_email."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_PGi, $email_subject, $email_message, $headers);
?>
downloadpdf.php
<?php
$file = $_GET['file'];
header('Content-Type: Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="' . basename($file) . '"');
header('Content-Length: ' . $file);
readfile($filename);
die();
?>
Что вы уже пытались заставить скачать? – MisterBla
взглянуть на этот вопрос/ответ http://stackoverflow.com/questions/3476362/how-to-force-a-file-to-download-in-php – Hmazter
Я пробовал: заголовок ('Content-Type: application/pdf'); header ('Content-disposition: attachment; filename = test.pdf'); readfile ('test.pdf'); ... но я не уверен, что я правильно назову. Ничего не произошло.. – p1xelarchitect