Jump to content
php.lv forumi

lejuplādēt failu PHP


Go to solution Solved by Kasspars,

Recommended Posts

Griežos pēc padoma, kāds būtu vislabākais un drošākais veids šādai sistēmai ... 

 

Lietotājs uploadē failu, fails piemēram novietojas /secretfiles/ folderī ... kā būtu visdrošāk šos failus glabāt lai nevarētu viņus pa tiešo lejuplādēt un lai nevarētu zināt linkus  ...  

 

lietotāji var iegādāties šos failus par virtuālajiem kredītiem .. tiklīdz viņa kontā ir attiecīgais skaits virtuālo kredītu, viņš var vienu reizi lejuplādēt šo failu.. bet pēc lejuplādes tā lai viņs nevarētu dalīties ar šo linku lai citi arī viņu lejuplādētu ..

 

 

mana ideja bija tāda, uzglabāt šo failu ar nosakumu "md5(uniqid(rand(),1)); " , pēc faila lejuplādes automatiski nomainīt uz citu nosaukumu ... vai ir labākas idejas? 

 

failu padodu "header("Content-Disposition: attachment; filename=$fakeFileName");" ... varbūt var kautkā padod failu ta lai neviens neredz download location? 

 

 

Paldies tiem kas palīdzēs!

Edited by snach15
Link to post
Share on other sites
  • Solution

Failus glabā ārpus public root (public_html). Tādā veidā nebūs iespējams minēt faila nosaukumu un kačāt bez atļaujas

Pēc tam ar readfile('ceļš/uz/failu/ārpus/public_html/fails.jpg') un tavu uzrakstīto headeri piegādā klientam failu

Link to post
Share on other sites

Failus glabā ārpus public root (public_html). Tādā veidā nebūs iespējams minēt faila nosaukumu un kačāt bez atļaujas

Pēc tam ar readfile('ceļš/uz/failu/ārpus/public_html/fails.jpg') un tavu uzrakstīto headeri piegādā klientam failu

Paldies, tieši tas kas man bija vajadzīgs... 

 

bet ir viena sekojoša problēma, lejuplādējot failu viņs ir "unknown format or damged", jūtu kad kautko izdarīju nepareizi

$fakeFileName= "xxxxxxx.zip";
$realFileName = $_GET['id'];

$file = "C:/fakefolder/".$realFileName;

if(file_exists($file)){
$fp = fopen($file, 'rb');

header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename=$fakeFileName");
header("Content-Length: " . filesize($file));


fpassthru($fp);
Edited by snach15
Link to post
Share on other sites

Davai atliec atpakaļ manam postam atbildes statusu! Šitas jau ir cits jautājums!

 

Baigie nekauņas, izspiedēji. Atceros viens te solīja alu par palīdzību - palīdzēju, bet alu nedabūju :D

es noņēmu jo likās kad posts ir neredzams, viņam priekšā rādas tas zaļais un tad grūtāk pamanīt, līdzīgs kā pinned 

 

 

PS: joprojām problēma nav atrisināta

Link to post
Share on other sites
Guest
This topic is now closed to further replies.
×
×
  • Create New...