webForumDet fria alternativet

Nerladdning mp3

PHP

10 svar · 685 visningar · startad av Webslave

Medlem sedan maj 2002647 inlägg
Frågan#1

Hepp! Sitter och fösöker få till så man kan ladda ner mp3'or från en band-sida men har lite problem med att få ner filen. Allt som händer är att det kommer en fil med rätt filnamn men den är helt om... 0kb. Ni ser nog säkert på en gång vad det är för knas, jag är inte alls van med filhantering i php. Har kikat runt men hittar inget som passar.

Kommit så här långt/kort:

header("Content-Type: application/force-download");
header("Content-Type: audio/mpeg");
header("Content-Type: application/download");
header("Content-Disposition: attachment; filename=".$row['trackFileName']);
readfile($_SERVER['DOCUMENT_ROOT']."/ove/TESTING-MUSIK/mp3/".$row['trackFileName']);

Fünkar ej...

Om någon även har några tips o trix om sånt här så skulle det också uppskattas ;)

Medlem sedan aug. 20039 340 inlägg
#2

Pröva att kommentera ut alla de raderna och skriv

echo $_SERVER['DOCUMENT_ROOT']."/ove/TESTING-MUSIK/mp3/".$row['trackFileName'];

och se vad svaret blir.

Medlem sedan aug. 20039 340 inlägg
#3

Dessutom bör du lägga en exit; efter readfile för att inga characters från själva php-dokumentet ska slinka med. Och inga radbrytningar eller annat innan <?PHP-taggen i början.

Medlem sedan maj 2002647 inlägg
#4

Den skriver ut:

/home/kunder/***/public_html/ove/TESTING-MUSIK/mp3/filnamnet.mp3

Så det ser korrekt ut, jag tog bort ett "/" efter ove btw.

Medlem sedan juni 2000114 inlägg
#5

Varför skickar du mer än en Content-Type? Är det inte meningen att man endast ska ha en?

Medlem sedan maj 2002647 inlägg
#6

Ärligt talat så har jag ingen aning... bara snappade upp scriptet från nått inlägg här på wF, det stämmer säkerligen inte :D Har fortfarande inte fått nå fart på det här... några fler idéer?

Medlem sedan maj 2002647 inlägg
#7

Nu ser min kod ut så här och fortfarande så är det bara en tom fil som sparas ner. Den får med sig rätt filnamn och sökvägen ska stämma... om man skriver om den till en vanlig "adress" så får man hem filen. Det verkar inte spela någon roll om jag skriver ut den absoluta sökvägen eller bara från den mappen som scriptet ligger i... huja

header("Expires: 0");
	header("Pragma: no-cache");
	header("Cache-Control: must-revalidate");
	header("Content-Type: application/download");
	header("Content-Disposition: attachment; filename=".$row['trackFileName']);
	readfile("../TESTING-MUSIK/mp3/".$row['trackFileName']);

Någon alls som har några idéer? Kan det handla om rättigheter eller nått sånt? Jag har kört fast helt känns det som...

Medlem sedan maj 2002647 inlägg
#8

*bumbp*

Medlem sedan maj 2005562 inlägg
#9

eftersom det är en mp3 låt borde du väl skicka med det..
header("Content-Type: audio/mpeg");

header("Cache-Control: no-cache, must-revalidate"); 
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header('Content-Type: audio/mpeg');
header("Content-Disposition: attachment; filename=".$row['trackFileName']);
readfile("../TESTING-MUSIK/mp3/".$row['trackFileName']);
Medlem sedan maj 2002647 inlägg
#10

Nope det blir samma lika... en fil med rätt filnamn men helt tom. Tack i alla fall :)

Medlem sedan maj 2002647 inlägg
#11

Löst!!!

$mp3_file = $row['trackFileName'];
	
	header("Content-Type: audio/mpeg3");
	header("Content-Disposition: attachment;filename=".basename($mp3_file));
	header("Content-Length: ". filesize($mp3_file));
	
	$fp = fopen($mp3_file, "rb");
	fpassthru($fp);

Hittade på phpportalen.net men kanske bra om någon hittar det här med :)

257 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)