Wymusza wyświetlanie tylko pobierania w przeglądarce, nie pyta o pobranie
Nie potrafię tego zrozumieć i wiem, że to coś prostego. Buduję back-end do bardzo podstawowego systemu zarządzania treścią. W tym konkretnym kawałku próbuję utworzyć link PHP, który pozwala na pobranie pliku (CV klienta).
MÓJ PROBLEM:
Po kliknięciu łącza do pobrania pliku zamiast przeglądarki wyświetlającej monit o wybranie lokalnego katalogu do zapisania pliku - po prostu wyświetla plik i kilka symboli przed i po treści dokumentu (zakładam, że jest to dane otwierania i zamykania pliku exif dla aplikacji do odszyfrowania).
Jak mogę zmusić przeglądarkę do monitowania użytkownika o pole „Zapisz jako ...”?
<?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;
}
}
?>
Wielkie dzięki,
Joshie