DOWNLOAD v. Dateien

sh0x

Erfahrenes Mitglied
Ich möchte auf meiner Site eine Dowanload-Area haben.
Wenn ich jedoch zb Mp3s verlinke und jemand die runterladen möchte, dann spielen die Mp3s online im Browser ab, anstatt normal heruntergeladen zu werden.
Jetzt wollte ich euch fragen, wie man ein kurzes, knackiges Script programmieren könnte, dass die Downloadanfrage bearbeitet und der Benutzer die Mp3 auch wirklich downloaden kann.
Also zb eine Datei "download.php" wie diese hier :
http://data.mzee.com/rba/download.php?GET_FILE=FILENAME.mp3

Vielen Dank im Voraus,
grüüüüüße
sx
 
ich möchte aber ein php-script benutzen und die dateien nicht archivieren...

also, wie gehts in php?

danke ihr lieben, barmherzigen... *g*

grüße
yxohs
 
damit wirst du dann aber probleme bekommen weil die wenigsten provider mp3-downloads von bei ihnen gehosteten seiten erlauben...
 
sh0x hat gesagt.:
[...]Wenn ich jedoch zb Mp3s verlinke und jemand die runterladen möchte, dann spielen die Mp3s online im Browser ab, anstatt normal heruntergeladen zu werden.
[...]

@HAL: Aber er sagt doch, dass die MP3s abgespielt werden. Also sollte das kein Problem sein, denke ich.

@sh0x: Such mal nach Mime-Typen und Download im Forum...
Da wirst du mit Sicherheit fündig.
 
Hier mal meine getfile.php. Hab sie schon ein wenig fuer Dich angepasst.
Aufruf ueber getfile.php?file=sesamstrasse.mp3

PHP:
<?
ob_start();
$downloadfile=$_GET["file"];
if ($downloadfile)
	{
		header("Content-Type: audio/mpeg");
		header("Content-Disposition: attachment; filename=\"".$downloadfile."\"");
		readfile($downloadfile);
	}
ob_end_flush();
?>
 
Auf die Benutzung des Ausgabepuffers solltest du in diesem Fall vielleicht verzichten, denn dann werden die Daten direkt an den Benutzer gesandt und landen nicht erst im Ausgabepuffer.
 
Hab's grad mal getestet und kann bestaetigen: geht auch.
Also kannste meinen Code von den Zeilen ob_start() und ob_end_flush() befreien.
 
Ich find's auch sinnvoll die Files (ob nun Bilder oder was auch immer) nicht direkt im doc-root zu haben.
Bei mir liegen die auch in einem Unterverzeichnis. Dem Script hier ist das ja egal, ich kann ja auch file als unterverzeichnis/sesamstrasse.mp3 uebergeben.
Allein aus Gruenden der Ordnung sollte im doc-root nur die Webseite und der dazugehoerige Kram liegen. Alles was irgendwie extra ist gehoert in entsprechende Unterverzeichnisse.
 
Zurück