I can't seem to figure this out and I know it's something simple. I am building the back-end to a very basic content management system. For this specific piece, I am just trying to create a PHP link that allows for a file (the client's CV) to be downloaded.
MY PROBLEM:
When the link to download the file is clicked, instead of the browser prompting you to choose a local directory to save the file to - it simply displays the file and a bunch of symbols before and after the document's contents (I am assuming this is the file's opening and closing exif data for an application to decipher).
How could I go about forcing the browser to prompt the user for a "Save As..." box?
<?php
require("connect.php");
$query = "SELECT * FROM kb_info LIMIT 1";
$result = mysql_query($query, $link);
while ($row = mysql_fetch_array($result)) {
$file_extension = end(explode(".", $row["extension"]));
if ($file_extension == doc) {
header('Content-disposition: attachment; filename='.$row["extension"]);
header('Content-type: application/doc');
header ("Content-Length: ".filesize($row["extension"]));
readfile($row["extension"]);
exit;
}
if ($file_extension == docx) {
header('Content-disposition: attachment; filename='.$row["extension"]);
header('Content-type: application/docx');
header ("Content-Length: ".filesize($row["extension"]));
readfile($row["extension"]);
exit;
}
if ($file_extension == pdf) {
header('Content-disposition: attachment; filename='.$row["extension"]);
header('Content-type: application/pdf');
header ("Content-Length: ".filesize($row["extension"]));
readfile($row["extension"]);
exit;
}
}
?>
Many thanks,
Joshie
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…