Výsledky 1 až 8 z 8

Téma: PHP: jak interpretovat kod nacteny ze souboru

  1. #1
    Senior Member
    Založen
    09.10.2002
    Bydliště
    Praha
    Příspěvky
    1 403
    Vliv
    285

    Standardní PHP: jak interpretovat kod nacteny ze souboru

    tady na te adrese je aktualni pocasi:

    http://www.msnbc.com/m/chnk/d/weathe...?acid=EZXX0012

    obsah souboru vypada takto, pravidelne se meni hodnoty

    function makeWeatherObj() {
    this.swCity = "Prague";
    this.swSubDiv = "";
    this.swCountry = "Czech Republic";
    this.swRegion = "East Europe";
    this.swTemp = "36";
    this.swTempCel = Math.round((5/9)*(this.swTemp-32));
    this.swCIcon = "29";
    this.swWindS = "20";
    this.swWindD = "W";
    this.swBaro = "30.18";
    this.swHumid = "75";
    this.swReal = "25";
    this.swUV = "0";
    this.swVis = "6.21";
    this.swLastUp = "01/03/2005 02:00:00";
    this.swConText = "Partly Cloudy";
    this.swFore = "2|3|4|5|6|01/03/2005|01/04/2005|01/05/2005|01/06/2005|01/07/2005|5|11|39|11|11|94|14|29|14|14|39|43|42|43|47|8 0|70|40|50|60|11|45|11|11|11|13|15|14|14|14|36|35| 35|36|36|"; this.swAcid = "EZXX0012";
    }

    takze:
    * ja ho otevru jako soubor
    * nacitam text do stringu
    * nahrazuji veskere "this." timto "$"
    * a dvakrat pomoci fce explode { a } vybiram pouze text mezi jednotlivymi dvojitymi zavorkami
    * tento text bych chtel interpretovat, mam ho jako string, jak na to? proste aby se mi tento text ulozeny ve stringu interpretoval a tim i nastavily promenne? da se to nejak jednoduse? pak s nimi budu dal pracovat. dik

    btw: jako javascript to nechavat nechci.

  2. #2
    1) ASUS M6A
    2) Toshiba Portége R600-10U
    3) ASUS A8V-X AMD Athlon 64 3000+ Kingmax 2x256MB DDR 400 WD 120GB Samsung 80 GB GMC G30 Fortron FSP400-60THN-P
    Ideální indentace pro Pascal je šest stop pod zem.

  3. #3
    Senior Member
    Založen
    09.10.2002
    Bydliště
    Praha
    Příspěvky
    1 403
    Vliv
    285

    Standardní

    Citace Původně odeslal ripper
    dik, to je presne ono.
    nikdy jsem to zatim nepouzil a fakt jsem nenasel.
    php umim trochu s manualem.

  4. #4
    Senior Member mince Avatar uživatele KtK
    Založen
    16.10.2002
    Bydliště
    Behind fuc*ing WorkTable Device (Praha zapad)
    Příspěvky
    1 709
    Vliv
    285

    Standardní

    Mno, ja teda nevim, ale opravdu bych se tomu eval() vyhnul vobloukem, riskovat, ze ti tam nekdo podstrci jinej kod bych nechtel.. Pokud ti jde o ty hodnoty, tak to snad neni az tak problematicky vyparsovat jinak, ne?
    Parasite lost, AKA the Girlfriend Mission:The Socka Project sleeps, lets use (her :) Durex! 1GHz in some soltek stuff, Ati rage 128, etc.. (it\'s noisy)
    IMB Thinkpad R31: celer 1.2GHz, 384M RAM, 60GB 5400rpm hitachi, i810 8MB onboard (na praci to staci ;)
    [pro archivni ucely] janina overclockerska poradna (.tar.gz, 1.1MB, otevrete si index.html v browseru podporujicim javascript a frames)

  5. #5
    Senior Member
    Založen
    09.10.2002
    Bydliště
    Praha
    Příspěvky
    1 403
    Vliv
    285

    Standardní

    vyparsovat jako manuale, mas na mysli?
    rozexplodovat az k hodnotam? nebo se to da nejak usnadnit?

    tohle eval bych rekl, dost postacuje. sice tam bezpecnosti riziko je, ale kazdopadne je to puvodne kus javascriptu.. mozna ani ze nevi, ze to od nich nekdo taha. je to nejakej pocasovitej server, kde se aktualni stav updatuje kazdou hodinu.

  6. #6
    Senior Member mince Avatar uživatele KtK
    Založen
    16.10.2002
    Bydliště
    Behind fuc*ing WorkTable Device (Praha zapad)
    Příspěvky
    1 709
    Vliv
    285

    Standardní

    ty data jsou zjevne z weather.com, (podle ID prahy)

    a rozparsovat by to snad nemelo byt tak tezke. rozsekas na radky,
    a kounes se treba ktery obsahuje "this.swTemp", (strpos) a z nej regularnim vyrazem (treba) dostanes tu 36ku.
    Parasite lost, AKA the Girlfriend Mission:The Socka Project sleeps, lets use (her :) Durex! 1GHz in some soltek stuff, Ati rage 128, etc.. (it\'s noisy)
    IMB Thinkpad R31: celer 1.2GHz, 384M RAM, 60GB 5400rpm hitachi, i810 8MB onboard (na praci to staci ;)
    [pro archivni ucely] janina overclockerska poradna (.tar.gz, 1.1MB, otevrete si index.html v browseru podporujicim javascript a frames)

  7. #7
    Senior Member
    Založen
    09.10.2002
    Bydliště
    Praha
    Příspěvky
    1 403
    Vliv
    285

    Standardní

    jasne, uvidim. pokud budu mit trochu casu nazbyt, predelam to.
    nejvic me stve ta neflexibilita skriptu, pac jakmile se cokoliv zmeni vetsino nefunguje. ale tak uz to byva, pokud tahame informace z cizich stranek:)

    EDIT: jeste se zeptam:
    je velka prasarna, pokud nacitam vzdaleny soubor odjinud a tudiz nemuzu pouzit pri fread fci filesize, dat tam nejakou fixni hodnotu? napr. vim, ze ten soubor nema vic jak 1kb, tak tam dat 1000? nebo pouzit neco jineho nez filesize.. nebo nacitat jinak? (mam tam fopen, fread)

    nebo je lepsi pouzit napr. toto?

    $file=fopen("vzdalenysoubor.txt","r");
    while (!feof($file)) {$text.=fgets($file,1024);}
    fclose($file);

  8. #8
    Senior Member mince Avatar uživatele KtK
    Založen
    16.10.2002
    Bydliště
    Behind fuc*ing WorkTable Device (Praha zapad)
    Příspěvky
    1 709
    Vliv
    285

    Standardní

    ta druha moznost je asi nejpouzivanejsi, co jsem zatim videl, a bez problemu, takze doporucim ji.

    pripadne fce file() by se ti asi docela hodila, jen pozor na to, ze na konci kazdeho radku zustava \n.
    Parasite lost, AKA the Girlfriend Mission:The Socka Project sleeps, lets use (her :) Durex! 1GHz in some soltek stuff, Ati rage 128, etc.. (it\'s noisy)
    IMB Thinkpad R31: celer 1.2GHz, 384M RAM, 60GB 5400rpm hitachi, i810 8MB onboard (na praci to staci ;)
    [pro archivni ucely] janina overclockerska poradna (.tar.gz, 1.1MB, otevrete si index.html v browseru podporujicim javascript a frames)

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •