Meg lehet csinálni phpvel?

Meg lehet csinálni phpvel?
2002-11-28T20:05:57+01:00
2002-12-05T21:07:57+01:00
2022-11-02T09:10:36+01:00
  • Helló,

    Szerintem a megoldás attól is függ, hogy a mazsolák mit is akarnak majd letölteni. Ha olyasmit, amit mysql adatbázisba lehet tenni, akkor szerintem legelegánsabb megoldás az lenne, hogy a mysql-re bízzuk a problémáa megoldását -- tranzakció kezelés.
    Az akció lebonyolításához nyitsz egy tranzakciót, amiben benne van az anyag letöltése is. A tranzakció tulajdonsága az, hogy csak akkor érvényes, ha minden végrehajtódott benne ("atomi" tulajdonság) lásd pl. bankautomaták működése. Szóval itt a tranzakció három részből allna:
    1. azonosítás
    2. letöltés
    3. azon. törlés.
    Nézd át a mysql doksi tranzakciós részét.
    Mutasd a teljes hozzászólást!
  • Hali!

    A webszerver igenis tudja, hogy el ment-e a klienshez az adat, hiszen ő kezeli a TCP/IP kapcsolatot. A PHP nem tudja, hogy a böngésző továbbküldte-e már a kliensnek az adatot. A bufferelési és elküldési algoritmus webszerverenként más és más. A PHP-nek a flush() függvénye a PHP-ből a webszerverbe átnyomja az adatot és elvileg a webszerver azonnal el is kezdi továbbküldeni. Viszont a flush() függvény azonnal visszatér, holott az adat elküldése esetleg csak fél óra múlva fejeződik be (pl. ha több mega).
    Elképzelhetőnek tartom, hogy létezik olyan függvény ami lekérdezi a webszervertől az adatelküldés állását. Workaroundot tudok javasolni, miszerint a fájl letöltése "meta-refresh"-sel menjen, és legyen a HTML oldalon egy "Sikerült a letöltés" gomb. Bár jól tudom ez a megoldás nem minden célra felel meg.

    Üdv: Nil.

    UI: A Java mindenképpen megoldás lehet, csak szerintem nem olyan rövid, mint azt az ember elsőre gondolná...
    Mutasd a teljes hozzászólást!
  • Hejh! Na ez az a nyelv amihez meg egy kukkot sem ertek, de ha csak igy lehet csinalni, akkor belevetem magam!! Kosz a segitseget, ha eszedbe jut valami irj!

    Udvozlettel: Sorpoci
    Mutasd a teljes hozzászólást!
  • upsz tegnap kicsit felreertettelek...

    gyanitom, nem html allomany az amit le akarsz toltetni...

    // most csak hangosan gondolkodom, hatha ay is segit valamit
    nos a php szerveroldali nyelv. A webszerver pedig semmit nem tud arrol, hogy az alltala elkuldott adatok eljutnak-e a klienshez.

    ha ilyesmit akarsz csinalni, akkor szukseged van segitsegre a klienstol, hogy kuljdon egy ack-ot ha megkapta a teljes filet.

    Ez pedig, nekem ugy tunik, hogy egy szerver klien kommunikaciot igenylo feladat. Most egy primitiv JavaApletes letoltes manager jut eszembe...

    de ha van ra megoldas, biztos van egyszerubb is...
    meg megprobalok gondolkodni rajta, de ne varj semmit...

    ozy
    Mutasd a teljes hozzászólást!
  • Az is johet, csak hogyan? Egyebkent koszi a gyors valaszt!!

    Udvozlettel: Sorpoci
    Mutasd a teljes hozzászólást!
  • tisztan php-ben nem (imho), gyanitom szukseged lesz egy kis javascriptre...

    ozy
    Mutasd a teljes hozzászólást!
  • Sziasztok! Lenne egy kerdesem. Van egy mysql adatbazisom ami 10-14 karakteres kodokat tartalmaz. Van egy file az oldalamon, amit ha le akarnak majd tolteni be kell irni egy kodot. Leellenorzom, hogy benne van e az adatbazisban. Ha igen elindul a letoltes. Ezzel meg nincs gond. De!!
    Ha a letoltes befejezodott akkor a kodot kitorlom az adatbazisbol, hogy masok ne tudjak azt hasznalni. Az a problemam hogy meg lehet e csinalni, hogy csak akkor torolje ki az adatbazisbol a kodot, ha a letoltes befejezodott. Mert mi van akkor ha a letoltes valami miatt megszakad? Uj kodot elegge maceras lenne kuldeni. Ha valakinek van hasznalhato otlete azt nagyon megkoszonnem.

    Udvozlettel: Sorpoci
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd