[ Snjeg @ 15.06.2007. 22:46 ] @
Pozdrav,

Ovako, pogledao sam malo po forumu ali nisam nasao ono sto mi tacno treba pa zato da pitam sad ovdje.

Na koji nacin da rijesim dozvoljavanje download-a samo clanovima koji su registrirani na moj sajt. Tj. znam kako bih to rijesio ali ne znam na koji nacin najbolje da sakrijem link ka tim fajlovima koji se dowloduju. Znaci imam jednu php scripitu koja bi trebala nakon provjere session varijabli da dozvoli download ili da izbaci error , ali kako da korisnika dovedem do zeljenog fajla a da mu ne odam lokaciju i onemogucim ga da sam kasnije (ako nije logiran) pristupi direktno fajlu upisivanjem adrese u browser.

Pokusah sa fopen ali uvidio sam da to nije ono sto meni treba...

Hvala unaprijed!
[ dakipro @ 15.06.2007. 23:01 ] @
Bilo na forumu, al bas sam danas radio nesto ovako, pa evo ti svez deo koda.
Code:

$file = $folderLocation . $fileName; // this location variable 

//$type = 'application/octet-stream';
$type = mime_content_type($file);
$size = filesize($file);

header("Content-type: " . $type);
header("Pragma: no-cache");
header("Content-Length: " . $size);

if ($forceDownload) {
    header("Content-Disposition: attachment; filename=" . basename($file));  //will always force download
}
//
header("Content-Transfer-Encoding: binary");
header("Cache-control: private");


readfile($file);  function that actually displays the file


I samo negde na pocetku fajla pitas da li je korisnik logovan (znas vec u tvojoj aplikaciji kako to da proveris) i da li ima pristup fajlu (takodje, zavisi kako definises nivo pristupa).
Snaci ces se vec sta cemu sluzi
[ Snjeg @ 16.06.2007. 08:56 ] @
e hvala , svaka ti dala (vode iz bokala)

EDIT:

Ej jos samo mi reci ovaj $forceDownload , kad treba bit setiran i u kojem dijelu?!? Posto vidim da se nigdje ne postavlja nista u ovu var..

Ja sam to shvatio da $forceDownload != 0 za sve koji imaju dozvolu za download, a za ostale je 0 ...

I jos jedan problem se javio sa mime_content_type , tj. Fatal error: Call to undefined function mime_content_type()

[Ovu poruku je menjao Snjeg dana 16.06.2007. u 10:10 GMT+1]

[Ovu poruku je menjao Snjeg dana 16.06.2007. u 10:11 GMT+1]
[ Nemanja Avramović @ 16.06.2007. 10:17 ] @
http://php.net/mime_content_type

(PHP 4 >= 4.3.0, PHP 5)

Dakle, ako ti je stariji PHP onda nemaš tu funkciju. Takođe, uvek možeš da staviš mime da bude: application/octet-stream ili application/x-download
[ dakipro @ 16.06.2007. 11:26 ] @
Konkretan kod se koristi za prikaz svih tipova fajlova, a taj if ti nije bitan, u konkretnom slucaju ga koristim za prikaz thumbnailova (tu mi ne treba download vec prikaz slike u browseru), a pored slike postoji link download, koji ima i taj parametar, pa se onda veca slika ne prikazuje u browseru vec se slika odmah nudi korisniku da za snimanje na disk. Kao sto vidis, u if-u se samo setuje dodatni heder, nista vise. AKo korisnik nema privilegiju za download, nemoj ni da ga pustas u ovaj deo koda, odmah ga saseci...