|
PHP PHP aplikacije, Smarty, PEAR |
![]() |
|
Alati teme | Način prikaza |
|
![]() |
#1 |
novi član
Na probnom radu
|
![]() Pozdrav svima...
Napravio sam XML parser koji obrađuje svašta, ali ga koristim za FXClient bankarske izvode, snimljene u XML format, i njihovo pakovanje u bazu. E sad, kako izvoda u direktorijumu ima stotinak, a svi se obrađuju po istom principu napravio sam petlju koja čita fajl po fajl i okida parser. Kada učitam drugi fajl u isti parser, parser pukne. Ispod je uprošćeni primer: PHP kôd:
Mogu li da učinim da se za više fajlova koristi isti parser, ili svaki put moram da kreiram novi parser za svaki fajl posebno? Pitanje 2: Ako već moram da kreiram parser za svaki fajl posebno (što mi se ne dopada), zašto onda ne radi destruktor u okviru petlje, po principu: [petlja] new parser ...nešto... free parser [kraj petlje] Nego PHP napravi onoliko instanci parsera koliko fajlova treba da obradi, pa ih po izlazu iz skripte sve poubija. Evo opet primera: PHP kôd:
Probajte samo da kreirate parser na početku petlje i da ga ubijete na kraju petlje - i to ne radi kako valja. Ako pak izbacite destruktor iz petlje, po izlazu iz skripte PHP uredno pobije instance, ali to znači da u toka rada pojede mnogo memorije pa je svu oslobodi, što može da ubije server ako se alocira previše memorije. Onda moram da podešavam memory_limit u php.ini pa... Sve u svemu ne ide u dobrom pravcu ![]() Hvala unapred na odgovoru ili hintu! Poslednja izmena od nixa : 24. 03. 2008. u 14:37. |
![]() |
![]() |
![]() |
#2 |
Ivan Dilber
Sir Write-a-Lot
|
![]() mozda da iskoristis 'is_final' (3-ci po redu) parametar u xml_parse(), pa da parsiras sve dokumente kao deo jednog velikog dokumenta? Samo bi morao da skines prvu liniju svakog fajla da se resisi xml deklaracije, i da dodas jedan bogus root elemnat oko svih dokumenata da bi xml bio validan
__________________
Leadership is the art of getting people to want to do what you know must be done. |
![]() |
![]() |
![]() |
#3 | |
novi član
Na probnom radu
|
![]() Citat:
Hvala na pokušaju, ali nije to ono što meni treba. Zanima me postoji li "clean solution" za ovo... |
|
![]() |
![]() |
![]() |
#4 |
Ivan Dilber
Sir Write-a-Lot
|
![]() pa ne, bas naprotiv... xml parser je baziran na Expat parseru, on ne cuva DOM strukturu, nego samo sekvencijalno parsira ono sto mu poturis (i pamti stanje, odnosno polozaj u DOM-u pomocu steka). Znaci ti mu dajes fajl po fajl, on to parsira, i ti trosis relativno malo memorije...
__________________
Leadership is the art of getting people to want to do what you know must be done. |
![]() |
![]() |
"Hvala" ivanhoe za poruku: |
![]() |
#5 |
133t
Master
|
![]() mozda neko prljavo resenje
![]() a ime fajla prosledjujes kao parametar? |
![]() |
![]() |
![]() |
Alati teme | |
Način prikaza | |
|
|
![]() |
||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
RSS parsiranje | nikolam | (X)HTML, JavaScript, DHTML, XML, CSS | 4 | 02. 10. 2009. 21:27 |
MySQL: Više tabela, više baza ili? | Ilija Studen | SQL baze podataka - Sponzor: Baze-Podataka.net | 22 | 22. 10. 2007. 23:24 |
Apache log parser | Nemanja Avramović | Web Hosting, web serveri i operativni sistemi | 5 | 11. 10. 2007. 21:14 |
rss parser | Blood | PHP | 2 | 01. 09. 2006. 11:09 |