burghi'sphp-dummies.de
PHP für Einsteiger und Fortgeschrittenere - an laufenden Scripten erklärt
29.06.2016, 01:59 Uhr - Impressum

Tutorials - Praxis - File Download - Grundproblem

Tutorials - Praxis
File Download: Grundproblem
Oftmals findet man im Netz Download-Klicks, die dann keine wirklich sind.
Was passiert? Der Browser entschliesst sich dazu, das JPEG, das PDF, die MP3 oder die Exel-Datei direkt anzuzeigen.
Wenn man das auf jeden Fall nicht will, macht man einen kleinen Umweg.So, was also dagegen tun?
Hm man muss mit den Headern spielen, die an den Browser geschickt werden.
Dafür ändert man erstmal ab:
<html>
     <!-- Wie man sieht, hab ich ne php draus gemacht. -->
     <a href="/bilder/download.php">Hier gehts zum Download</a>
</html>
Und eben jene download.php kann nun so aussehen:
benutzte Bilder download.jpg
<?php
$downloadfile = "bilder/download.jpg";
$filename = "download.jpg";
$filesize = filesize($downloadfile);

header("Content-Type: image/jpeg");
header("Content-Disposition: attachment; filename='$filename'");
header("Content-Length: $filesize");

readfile($downloadfile);
exit;
?>
Nun wird die jpg-Datei zum Download angeboten.
Analog geht dies auch mit allen anderen Dateien, sogar mit html-Seiten.
Anmerkung: Im normalen Gebrauch wird kein leeres Popup wie hier aufgehen.
Das liegt nur am System von php-dummies.de


Wichtig ist das Content-Disposition: attachment; womit dem Browser gesagt wird: Dies ist ein Anhang, runterladen!
$filename ist der Name, den der Browser beim Speichern vorschlagen soll.
Überblick über verschiedene Content-Header gibts hier: http://de.selfhtml.org/diverses/mimetypen.htm
© 2004-2005 - Impressum