HTACCESS: Download bestimmter Dateitypen erzwingen
Tutorial von Stefan Trost | Letztes Update am 18.01.2023 | Erstellt am 16.09.2014
Je nach Browsereinstellung werden bestimmte Dateitypen wie zum Beispiel Bilder, Videos, Musik, Textdateien oder PDF-Dokumente direkt im Browser angezeigt. Möchte man aber zum Beispiel eine JPG- oder PDF-Datei zum Download anbieten, wird es schwierig: Jedes Mal wenn ein Nutzer auf den entsprechenden Link klickt, startet nicht der Download sondern die Datei wird bloß angezeigt.
In diesem Tutorial möchte ich euch daher zwei Lösungen zeigen, mit denen ihr die Anzeige von beliebigen Dateitypen im Browser verhindern könnt, so dass ein Nutzer die betreffenden Dateien unabhängig von seinen Browsereinstellungen immer als Download angeboten bekommt. Eine Lösung arbeitet mit der Hilfe von HTACCESS, die andere mit PHP.
Die HTACCESS-Lösung
Um den Download bestimmter Dateitypen beziehungsweise Dateien mit einer bestimmten Dateiendung mit der Hilfe von HTACCESS zu erzwingen, benötigen wir nur wenige Zeilen in unserer HTACCESS-Datei.
Die folgenden vier Zeilen sind ausreichend um uns Abhilfe zu verschaffen:
<FilesMatch "\.(?i:pdf|jpg|png|avi|mp3)$"> ForceType application/octet-stream Header set Content-Disposition attachment </FilesMatch>
Der Trick dabei ist, die Dateien als binäre Anhänge zu deklarieren, wodurch der Browser die Dateien zum Download anbietet, anstatt sie standardmäßig anzuzeigen.
In der ersten Zeile sind alle Dateiendungen aufgelistet, für die dies gelten soll. In unserem Beispiel haben wir alle Dateien mit der Endung PDF, JPG, PNG, AVI und MP3 als binäre Anhänge deklariert. Die Liste der Endungen kann natürlich individuell nach Belieben angepasst werden.
Mit dem "?i:" sorgen wir übrigens dafür, dass die Groß- und Kleinschreibung der Dateiendung egal ist (PDF und pdf).
Die PHP-Lösung
Natürlich ist die HTACESS-Lösung eine sehr simple Methode. Etwas flexibler sind wir, wenn wir mit PHP arbeiten. Jedem, der etwas mehr Anpassung für den Download benötigt, empfehle ich das PHP-Download-Skript für Dateien.
Auch dieses Script zwingt den Browser zum Download, bietet jedoch mehr Möglichkeiten als nur den Header zu verändern (zum Beispiel einen Download-Counter oder Downloads unter einem anderem Namen als auf dem Server gespeichert).
Über den Autor
Software von Stefan Trost finden Sie auf sttmedia.de. Benötigen Sie eine individuelle Software nach Ihren eigenen Wünschen? Schreiben Sie uns: sttmedia.de/kontakt
Profil anzeigen
Ähnliche Themen
PHP: Datei Download Skript
Tutorial | 0 Kommentare
Bild vor dem Upload im Browser verkleinern
Tutorial | 5 Kommentare
Website Performance: Caching und Expires Header von Bildern, CSS und JavaScript
Tutorial | 0 Kommentare
Datei in ihren Ordnernamen umbenennen
Tutorial | 3 Kommentare
Delphi: JPEG Bild in TBitmap laden
Tutorial | 0 Kommentare
HTML5: Bilder Upload mit Verkleinerung auf Client Seite
Tutorial | 6 Kommentare
Website Performance: Javascript und CSS komprimiert ausliefern und Ladezeiten verkürzen
Tutorial | 0 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.