- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy A54 - türelemjáték
- Mobil flották
- Samsung Galaxy S25 - végre van kicsi!
- Apple Watch Ultra - első nekifutás
- Apple iPhone 17 Pro Max – fennsík
- Samsung Galaxy Z Fold6 - ugyanaz, sarkosan fogalmazva
- iPhone topik
- EarFun Air Pro 4 - a cél a csúcs
- Apple iPhone 17 - alap
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
"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.
Új hozzászólás Aktív témák
- Gyúrósok ide!
- WoW avagy World of Warcraft -=MMORPG=-
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy A54 - türelemjáték
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Battlefield 6
- Mobil flották
- Épített vízhűtés (nem kompakt) topic
- Samsung Galaxy S25 - végre van kicsi!
- Sweet.tv - internetes TV
- További aktív témák...
- ÚJ BONTATLAN Apple Watch Series 10 S10 42-46mm Azonnal Átvehető DEÁK TÉRNÉL 1 Év Apple Garanciával.
- Honor Magic 7 Pro 512 Gb - AI Pro kamera, 6,8 120 Hz LTPO OLED, Snapdragon 8 Elite,3 hó gari!
- Samsung Galaxy Z Fold6 Navy Duplakijelzős produktivitás, 120 Hz, Galaxy AI,2027. 09. 19
- Apple iPhone Air Space Black Pehelykönnyű elegancia,100% akku (6 ciklus) Garancia 2026. 09. 25
- Alienware AW3423DWF Ívelt Gamer Monitor!34"/QD-OLED/165hz/0,1ms/10BIT/Freesync-G-sync/Alien FX
- Bomba ár! Dell Latitude E5520 - i5-2520M I 4GB I 250GB I HDMI I 15,6" HD I Cam I W10 I Garancia!
- BESZÁMÍTÁS! 4TB Western Digital RED Pro SATA HDD meghajtó garanciával hibátlan működéssel
- 123 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 - 4 év garancia
- BESZÁMÍTÁS! MSI B760 i7 13700K 32GB DDR4 2TB SSD RTX 4080 16GB be quiet! 500DX Seasonic 750W
- Bomba ár! Asus K73SJ - i7-2670QM I 6GB I 120GB SSD I 17,3" HD+ I Nvidia I HDMI I Cam I W10 I Gari!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest