PHP: MP3-Download erzwingen - nicht im Browser abspielen
Verfasst: 25.06.2011 22:19
Hi!
Ich nutze PHPBB 3.0.8
Wir sind ein paar Dutzend Musiker und haben ein internes Forum und wir bieten uns hin und wieder unsere selbst produzierten Songs als MP3 zum Download an. Dafür habe ich neuerdings einen Download-Button als BBCode eingerichtet, weil ich einen Button schöner finden, als nur einen Text-Link mit dem Vermerk (Download: Rechtsklick -> Ziel speichern unter...). Nun wird beim Klick auf den Download-Button aber bei meinem Browser (und bei fast allen anderen auch) die MP3 im Browser mit QuickTime abgespielt, weil es halt im Browser so eingestellt ist. Ich möchte nun den Download der MP3's, die alle im selben Ordner auf unserem Server sind, erzwingen - per PHP soll das ja machbar sein.
Habe das hier gefunden:
Wie bekomme ich es hin, dass alle Dateien mit der Endung MP3 aus diesem Verzeichnis beim User als erzwungenen Download zu behandeln? Ich weiß auch nicht, welche Datei ich ändern muss.
Hoffe, Ihr könnt mir helfen.
Ich nutze PHPBB 3.0.8
Wir sind ein paar Dutzend Musiker und haben ein internes Forum und wir bieten uns hin und wieder unsere selbst produzierten Songs als MP3 zum Download an. Dafür habe ich neuerdings einen Download-Button als BBCode eingerichtet, weil ich einen Button schöner finden, als nur einen Text-Link mit dem Vermerk (Download: Rechtsklick -> Ziel speichern unter...). Nun wird beim Klick auf den Download-Button aber bei meinem Browser (und bei fast allen anderen auch) die MP3 im Browser mit QuickTime abgespielt, weil es halt im Browser so eingestellt ist. Ich möchte nun den Download der MP3's, die alle im selben Ordner auf unserem Server sind, erzwingen - per PHP soll das ja machbar sein.
Habe das hier gefunden:
Code: Alles auswählen
<?
$datei = "download_verzeichnis/download_datei.abc";
$dateiname = basename($datei);
$groesse = filesize($datei);
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".$dateiname);
header("Content-Length:".$groesse);
readfile($datei);
?>Hoffe, Ihr könnt mir helfen.