Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Sk8erPeter

    nagyúr

    válasz meone #7354 üzenetére

    "Jelenleg az adatok egy JSON fájlba vannak tárolva.
    Ezzel kapcsolatban lenne kérdésem.
    Az egyik az, hogy ezeket a fájlokat hogyan lehet írni PHP segítségével van rá a neten valami minta, hogy milyen szintaxissal lehet meg nyitni a fájlt bele írni a végére majd lezárni?"

    Ha jól értelmezem a kérdésedet, szeretnél PHP-vel megnyitni, majd beolvastatni egy JSON-fájlt, ehhez hozzáadni adatokat, majd ismét JSON-formátumban eltárolni, és végül lezárni a fájlt.
    1.) Megnyitásra, fájl tartalmának beolvastatására: file_get_contents()
    2.) JSON-string PHP-s formátumra konvertálására: json_decode().
    Itt hozzáadhatod akár tömbszerűen, vagy neked tetsző módon az adataidat, ezt követően:
    3.) PHP-változó JSON-stringgé konvertálására: json_encode().
    4.) Fájlba írásra, fájl lezárására: file_put_contents().

    Ennél egyszerűbb módszer erre nincs. :)
    Pont a json_decode() kommentjei közt szerepel egy viszonylag egyszerű példa a beolvasásra:
    [link]
    "Make sure you pass in utf8 content, or json_decode may error out and just return a null value. For a particular web service I was using, I had to do the following:

    <?php
    $contents = file_get_contents($url);
    $contents = utf8_encode($contents);
    $results = json_decode($contents);
    ?>

    Hope this helps!"

    A második részre:
    "Hogyan alakíthatom át ezt úgy, hogy az adatokat ne JSON fájlból szedje ki hanem MySQL és PHP kombó segítségével."
    Szerintem itt rosszul értelmezed a dolgokat, vagy lehet, hogy csak rosszul fogalmaztad meg, vagy én értelek félre. Láthatóan az általad linkelt oldalon is PHP segítségével dolgozzák fel az adatokat. Hogy konkrétan MySQL- vagy más adatbázisból szedik ki az adatokat, az teljesen lényegtelen, de valamilyen adatbázisból kiszedik.
    Itt annyi történik, hogy AJAX-szal kérdezik le az adatokat, és azzal is jelenítik meg a frontenden. Ettől függetlenül nem feltétlenül generálnak le emiatt egy JSON-fájlt, hogy aztán abból olvassák ki, hanem egyszerűen JSON-formátumban küldik vissza a kapott adatokat a szerverről.
    Ez pl. nagyon könnyen megtehető a korábban említett json_encode() függvény segítségével.
    Összeállítanak egy tömböt, vagy bármilyen más változót a kívánt adatokkal, json_encode-dal JSON-formátumúra alakítják, majd ezt echo-zzák, ezt kapja meg az AJAX-lekérés eredményeként a kliensoldal. Ezt már csak a megfelelő formátumban jQuery-vel feldolgozzák, elkészítik belőle a grafikont, stb.

    Ezek fényében az első pontra visszatérve: ha folyamatosan változó adatokat akarsz kiolvastatni pl. adatbázisból, mindezt PHP-vel feldolgozni, stb., akkor emiatt nehogy írj minden alkalommal JSON-fájlt, hacsak nem nagyon indokolt, az feleslegesen rendkívül erőforrásigényes.

    [ Szerkesztve ]

    Sk8erPeter

Új hozzászólás Aktív témák