PHP segély

egyéb dolgok, amik már nem férnek bele másik kategóriába

Re: PHP segély

HozzászólásSzerző: Laczkó » 2010.08.17. 10:44

Kedves fórumtársak!

PHP-scriptes letöltéssel van gondom. Itt a topic első oldalain olvastam, hogy van valami 8 MB-os fájlméret korlát, de én akárhányszor végigolvastam a szabályzatott, sehol nem találtam fáljméret korlátozásra semmilyen utalást, és amikor a "jobb gomb->cél mentése másként" helyett elkezdtem PHP-sripteket használni, nem is volt semmi gond, kipróbáltam, és gond nélkül lejött egy közel 180 MB-os fájl is. Pár hete azonban újabb nagyobbacska (kb. 40 MB) fájlt akartam közzé tenni, de amikor kipróbáltam, 17,3 MB-nál abbahagyta a letöltést. Ezután tapasztaltam a legérdekesebb jelenséget: leellenőriztem, hogy a korábban feltöltött fájlok működnek-e még, és mindnél azt tapasztaltam, hogy olyan 20 MB-tól a teljes fájlig valamennyit letölt belőlük (valahányszor megpróbáltam, mindig különböző méretig jutott el), látszólag teljesen véletlenszerű, hogy mikor mennyit, de a legutóbb felrakott fájlból továbbra is minden alkalommal pontosan 17,3 MB jön le. Érti ezt valaki?
Laczkó
 
Hozzászólások: 5
Csatlakozott: 2010.04.25. 13:16

Re: PHP segély

HozzászólásSzerző: csigi » 2010.08.17. 18:19

Szerintem kevered a dolgokat :lol: A fájlméret korlátozás feltöltésnél van! Azaz ha van egy formod ami file feltöltéses ott max 8 Mb-ot tudsz egyszerre feltölteni! Most a letöltés az már kérdéses, hogy hogyan is töltöd le, simán böngészőben beírod a direkt elérhetőségét és úgy töltöd vagy egy php fájl segítségével amiben "force download" megoldás van, ha a második akkor több mint valószínű hogy rosszul van beállítva a "force download" résznél a filesize vagy egyáltalán nincs is beállítva ;) Ha az első feltételezés akkor valószínű letöltés közben időtúllépés van!
csigi
 
Hozzászólások: 180
Csatlakozott: 2009.04.27. 15:38

Re: PHP segély

HozzászólásSzerző: Laczkó » 2010.08.19. 08:43

Ha direkt eléréssel töltöm, akkor nincs semmi probléma, csak azt elég gagyi megoldásnak tartom, hogy kiírom a honlapra, hogy jobb gomb a linkre és cél mentése, ezért szeretném PHP kóddal megoldani a dolgot. Sajnos azonban ehhez egyáltalán nem értek, így internetről szedtem le néhány kódot, és bogarásztam ki, hogy mi micsoda, s ebből született meg a következő kód:
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=\""."vacduka.aac"."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize(vacduka.aac));
readfile("vacduka.aac");
exit();
Ha jól értelmezem, itt a fájlméretet magából a letöltendő fájlból szedi ki, ami ha valami hiba folytán rosszul is lenne beleírva, akkor is mindig ugyan annyit kéne letöltenie a fájlból, ha nem is az egészet.
Laczkó
 
Hozzászólások: 5
Csatlakozott: 2010.04.25. 13:16

Re: PHP segély

HozzászólásSzerző: csigi » 2010.08.19. 11:23

Hát igen ez a force download amit mondtam, a hiba pedig az elérési útnál van a filesize résznél, mindig úgy kell beírni a fájl elérési útját hogy a gyökérkönyvtártól és a letöltés vezérlő php-tól viszonyítasz, tehát ha pl van egy fajlok mappa és abban van a fajl.txt akkor az elérési út fajlok/fajl.txt , de nem mindig fogadja el a szerver ezért lehet hogy /fajlok/fajl.txt vagy a harmadik verzió ./fajlok/fajl.txt (Ha visszafelé szeretnél menni akkor pedig ../ kell ezzel visszaugrasz 1 mappát)
csigi
 
Hozzászólások: 180
Csatlakozott: 2009.04.27. 15:38

Re: PHP segély

HozzászólásSzerző: adamos42 » 2010.08.22. 13:46

A legtöbb probléma amúgy a helytelen elérési út megadásból szokott történni :D. Részben megint leszek egy darabig csak jelenleg tönkre ment a gépem :(

Amúgy én azt szoktam, hogy definiálom a helyeket majd azokat hívom meg :D

Kód: Egész kijelölése
define("www" , "http://akarmi.valami.hu/");
define("files" , www."downloads/" );


Ha nem rontottam el akkor így néz ki :D
Avatar
adamos42
 
Hozzászólások: 103
Csatlakozott: 2010.05.05. 06:43

Re: PHP segély

HozzászólásSzerző: Laczkó » 2010.08.24. 21:50

Sajnos nem akar működni. Mind a PHP kód, mind a letöltendő fájl a gyökérkönyvtárban van, de azért kipróbáltam, hogy beírok elé egy "/" jelet, vagy "./"-t, de semmi változás. Bár igazából nem is értem, hogy ez miért segíthetne, hiszen a fájlt eddig is megtalálta, amit letöltött, azt lejátszottam, és az volt, aminek lennie kellett, csak éppen a vége hiányzott, ez pedig arra utal, hogy nem az elérési úttal van a gond.
Laczkó
 
Hozzászólások: 5
Csatlakozott: 2010.04.25. 13:16

Re: PHP segély

HozzászólásSzerző: csigi » 2010.08.25. 10:23

Én nem is magára a fájl letöltés részére gondoltam, hanem a filesize résznél rossz az elérési út, ezért nem tudja megállapítani mennyi a fájl mérete és azért marad el a vége is!
csigi
 
Hozzászólások: 180
Csatlakozott: 2009.04.27. 15:38

Re: PHP segély

HozzászólásSzerző: fride » 2010.08.26. 06:29

Esetleg így: filesize('vacduka.aac') ?

De ha nincs megadva a Content-Length, az se tragédia, csak úgy a böngésző nem tudja meg a fájl méretét, és azt sem tudja kijelezni, hogy éppen hol tart a letöltés.
fride
 
Hozzászólások: 20
Csatlakozott: 2010.04.09. 11:44

Re: PHP segély

HozzászólásSzerző: csigi » 2010.08.26. 10:00

fride jól mondja, ha nincs meg a méret akkor a böngésző letöltés csak futkozik és nem tudja hol a vége!
csigi
 
Hozzászólások: 180
Csatlakozott: 2009.04.27. 15:38

Re: PHP segély

HozzászólásSzerző: fride » 2010.08.26. 15:36

Viszont nem értem, hogy miért nem jó a direkt elérés egy sima linkkel.
Ha látogató rákattan a linkre, a megadott fájl letöltődik, nem kell semmi "jobb gomb és cél mentése".

Csak úgy, mindenféle cél nélkül PHP-val csinálni fölösleges.
fride
 
Hozzászólások: 20
Csatlakozott: 2010.04.09. 11:44

ElőzőKövetkező

Vissza: Segédletek, Tippek, Egyebek

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 0 vendég