Zadejte hledaný výraz...

XMLreader – použití na hostingu s omezeným časem

Mám hosting, kde lze mít spuštěný script maximálně 30 sekund, pak se objeví hláška 500. Zkouším načíst 25MB XML soubor, který si prvně uložím na FTP do složky a za pomocí XMLreader se snažím XML načíst. Bohužel se mě podaří načíst jen slabá 1/2.
Čekal jsem, že XMLreader má zabudované nějaké řazení, kdy když script skončí, začne opět tam kde skončil, aby se načetlo do mySQL celá data XML.
$reader = new XMLReader();
$reader->open("../data.xml");
while($reader->read())
{
if($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'SHOPITEM')
{
$doc = new DOMDocument('1.0', 'UTF-8');
$data = simplexml_import_dom($doc->importNode($reader->expand(),true));
// vypíšeme data, která se zapíší do mySQL
$id_id = $data->ID_PRODUCT;
$kod = $data->KOD;
}
}
11. 12. 2013 21:05:38
https://webtrh.cz/diskuse/xmlreader-pouziti-na-hostingu-s-omezenym-casem#reply975566
TRUSTIA
verified
rating uzivatele
(8 hodnocení)
11. 12. 2013 21:40:10
Za 30 sekund se nestihne provést celý script (tzn. vč. uložení do databáze atp.) a nebo ani "jen otevřít XML"? Jak je to XML velké?
11. 12. 2013 21:40:10
https://webtrh.cz/diskuse/xmlreader-pouziti-na-hostingu-s-omezenym-casem#reply975565
Hitman1
verified
rating uzivatele
(38 hodnocení)
11. 12. 2013 21:48:40
25MB je opravdu velký soubor, asi bych ho rozdělil. Teď jsem nahrával na eshop 8 000 produktů přes svůj importér a 3MB soubor se mi vč. rozsekání podle simple xml načítá asi půl minuty (jde teda o CSV, ale u XML to bude podobné).
11. 12. 2013 21:48:40
https://webtrh.cz/diskuse/xmlreader-pouziti-na-hostingu-s-omezenym-casem#reply975564
Lewand
verified
rating uzivatele
11. 12. 2013 22:06:07
Zdravím,
souhlasím s tím, že 25MB je celkem dost, ale jsou dost často k vidění i větší soubory. Nicméně XMLReader si opravdu nehlídá kde skončil. Jen jsem trochu nepochopil přístup k datům přes DOMDocument. XMLReader je proudový pull parser, DOMDocument se načítá celý do paměti. Zbytečně složité. Co tohle:
To by nefungovalo? Mě to takhle jede. Jen je třeba si odchytit všechny zanořené elementy :-)
11. 12. 2013 22:06:07
https://webtrh.cz/diskuse/xmlreader-pouziti-na-hostingu-s-omezenym-casem#reply975563
TRUSTIA
verified
rating uzivatele
(8 hodnocení)
11. 12. 2013 22:07:21
Zkusil bych třeba něco jako:
...a alespoň bych viděl, kam až se to dostane.
11. 12. 2013 22:07:21
https://webtrh.cz/diskuse/xmlreader-pouziti-na-hostingu-s-omezenym-casem#reply975562
Pokud se XML nevejde do paměti, tak ho lze zpracovávat postupně pomocí http://php.net/xml
11. 12. 2013 22:13:21
https://webtrh.cz/diskuse/xmlreader-pouziti-na-hostingu-s-omezenym-casem#reply975561
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
11. 12. 2013 22:21:55
tohle vám pomůže https://github.com/prewk/XmlStreamer
11. 12. 2013 22:21:55
https://webtrh.cz/diskuse/xmlreader-pouziti-na-hostingu-s-omezenym-casem#reply975560
Pro odpověď se přihlašte.
Přihlásit