| Download von Dateien erzwingen |
|
Nicht immer ist es gewünscht, dass eine Datei direkt im Browser geöffnet wird. Gerade Bilder, HTML-Dokumente und auch PDFs werden aber automatisch im Webbrowser angezeigt. Mit einem Trick kann man sie als Download öffnen. Eigentlich hat der liebe Gott Mime-Types kreiert um verschiedene Dateiformate durch den Browser richtig behandeln zu lassen. Unbekannte Formate und Binärformate werden vom Browser als Download angeboten.
Leider funktioniert der type Parameter bei Links nur bedingt. Der folgende Code <a href="/test.jpg" type=" Lösung 1: Das Download ScriptMit php kann man sich ein kurzes Script basteln, dass die gewünschte Datei liest und als Binärdatei sendet. Das folgende Programm würde beispielsweise so aufgerufen: (http://www.meinserver.de/force_download.php?file=/images/test.jpg). Der Trick liegt hierbei im Mime-Type (application/force-download). Den Typ force-download gibt es nämlich nicht. force-download.php
<? Lösung 2: Umleitung mittels Htaccess
Eleganter ist es jedoch, wenn der Server Bilder, Dokumente oder PDFs aus einen bestimmten Verzeichnis einfach als binäre Anhänge sendet. Dazu benötigt man Zugriff auf .htaccess Im Downloadverzeichniss wird folgende .htaccess Datei erstellt. <FilesMatch "\.(?i:pdf|jpg|gif)$"> Achtung: Nur im gewünschten Downloadverzeichnis ablegen!
Voraussetzung ist jedoch, dass Apache mod_headers aktiviert hat. Sonst kommt es zu einem 500er Serverfehler. Bei manchem Providern wie 1und1 kann man Module dynamisch in der .htacces Datei nachladen. Bsp: LoadModule headers_module modules/mod_headers.so |

