PHP, Mysql letöltés limit ThumbSup v2-ért cserébe
2011-05-30T03:45:34+02:00
2011-05-30T04:25:17+02:00
2022-07-19T05:23:10+02:00
  • Ebben a témában található kóddal el tudsz indulni, ha magad akarod megcsinálni: prog.hu/tudastar/133878/Letoltes+lassitasa.html

    Ugyan itt a letöltés lassítása volt a cél, de a kód logikája felhasználható erre a célra is, miszerint a php másodpercenként kirak a kimenetre valamennyi adatot addig, amíg a fájl végére nem ér. A plusz kódot a while ciklusba kellene rakni, ahol egy táblában lévő datetime értéket frissítene, illetve egy flag-et 1-re állítana - jelezve, hogy éppen tölt lefele.

    Ha letölti a fájlt, akkor értelemszerűen kilép a while-ból: itt tudod a flag értékét 0-ra állítani - ezzel jelezve, hogy végzett a letöltéssel.

    Ha megszakítaná a letöltést, akkor a flag 1-en marad és ezt figyeled, majd x idő múlva visszaállítod 0-ra (
    Bocs, egyszerre csak egy fájlt tudsz letölteni, vagy ha megszakítottad a letöltést, akkor kérlek várj x percet bla bla bla...
    ).

    Ha párhuzamosan akar letölteni, akkor szintén 1 lesz a flag, de 0-ra nem vált, mert nem telik le az x idő, mivel folyamatosan frissül a datetime.

    ---

    Elméletben működőképes a dolog - buktatója a dolognak, hogy a max_execution_time-ot jó nagyra kell állítani (set_time_limit()), illetve nem nagyon lehet a memory_limit-nél nagyobb fájlokat kiküldeni (értékét lásd php.ini vagy phpinfo()).

    [szerk.]

    Ha mondjuk végtelenre állítod a php futási idejét, akkor is kérdéses, hogy a webszerver lekapcsolja-e a futtatást mondjuk 15-30 perc múlva gondolva arra (mármint a rendszergazdák), hogy a php biztos végtelen ciklusban vagy valamilyen egyéb hosszú távlatú tevékenységben van és ne fusson hónapokig terhelve a szervert...

    Valamint ha be van kapcsolva a safe_mode, akkor a set_time_limit()-tel nem tudod állítani a fenti időt se.
    Mutasd a teljes hozzászólást!
  • Sziasztok, szeretnék venni egy ThumbSup V2 PHP/MySql scriptet, ami 17 USD-be kerül. Ha valakinek szüksége lenne egy ilyenre és elvállalna ezért egy kis PHP, Mysql munkát az kérem, hogy jelentkezzen.

    A munka amit szeretnék összehozni: Van egy download.php fájlom, amit átírva az összes fájlhoz kapcsolok. Minden letölthető fájlhoz egy másik download.php van. Ez a download.php küld adatokat egy Mysql adatbázisba.

    Szeretnék egy olyan funkciót, hogy egy látogató egy időben csak 1db fájlt tudjon letölteni. Amennyiben egy másik fájlt töltene le abban az időben, akkor egy DIV bukkanjon fel (ezt majd én designolom).

    Írtak olyan megoldást is, hogy legyen benne egy timestampe es egy fileméret ellenőrző is.

    Ezzel a szervert szeretném, kímélni. Köszönöm.
    Mutasd a teljes hozzászólást!
abcd