[ barbus @ 18.07.2003. 11:19 ] @
Imam MySql tabelu sa BLOB poljem u koji stavljam .mp3 fajlove.Kako da uradim download tog fajla na disk?
[ broker @ 18.07.2003. 14:53 ] @
Skript prvo snimi sadrzaj BLOB-a u datoteku na serveru pa je ond aponudi za DL.
Inace, nije bas pametno trpati tolike podatke u BLOB-ove. Prilicno opterecuje bazu.
[ -zombie- @ 18.07.2003. 16:58 ] @
nema potrebe da snimaš. u stvari, to je difinitivno lakše, ali je bolje lepo da to odradiš kako treba. teoretski, dovoljno bi trebalo da bude da pošalješ samo jedan mime type heder, znači za mp3 je to valjda audio/mpeg a valjda radi i audio/mp3.

Code:

header("Content-Type: audio/mpeg");
echo $sadrzina_datoteke_iz_blob_polja;


a možeš da probaš još par hedera. prvi kontroliše ime skinutog fajla, a ostali kontrolišu keširanje fajlova na proxijima i slično...

Code:

header('Content-Disposition: inline; filename="'.$ime_pesme.'.mp3"');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');


(ovo isto treba pre echo komande da ide)


// edit: da se razumemo. ni ja (kao i goran posle mene) ne preporučujem stavljanje fajlova bilo koje vrste u bazu... a ovo rešenje sam konkretno koristio za zaštitu fajlova sa diska...

[Ovu poruku je menjao -zombie- dana 19.07.2003. u 02:15 GMT]
[ Goran Rakić @ 19.07.2003. 01:58 ] @
A onda moraš implementirati nastavak downloada od zadatog bajta, paketno preuzimanje i slične stvari. Pa još kada dođe do zagušenja ako mysql servera, a i backup/restore postaje nemoguć osim ako ne ide server na neki isto tako brzo na net povezan komp...

Mada mene stvarno zanima zašto vi ljudi sve volite da radite na nestandardni način. Reci mi koja je prednost čuvanja u BLOB-u? Zaštitiš privilegijama direktni pristup datotekama, a php-om je kopiraš na privremenu lokaciju (na primer 20min), onda taj link šalješ korisniku koji normalno skida datoteku. Posle 20 minuta datoteka više nije na serveru i korisnik nikako ne može zloupotrebiti pristup (osim ako preuzetu datoteku ne stavi negde drugde). Za gotovo kompletno rešenje javi se na PP.
[ barbus @ 30.07.2003. 12:24 ] @
Hvala puno na pomoci ,
uspeo sam sa

Header("Content-Type:$fileType ");
Header("Content-disposition: attachment; filename=".$filename.";");

echo($fileContent);

A zasto stavljam u BLOB?
Cinilo mi se da tako treba, ali pokusacu da uradim i na predlog Gorana.
Inace to ce biti korisceno na lokalnoj mrezi.