imho.ws |
![]() |
![]() |
![]() |
# 1 |
Full Member
Регистрация: 29.05.2002
Сообщения: 544
![]() ![]() ![]() ![]() ![]() |
php4 dom xml(gnome extension) и большие файлы(+)
Собственно какая техника работы с большими файлами через DOM XML?
файл на 4-5 МБ, при парсинге кушает очень много ОП, например, на хостинге у меня просто вываливается скрипт, т.к. стоит ограничение на доступную ОП(скрипт запускается через php-cli). понимаю, что есть SAX, но не люблю его реализауию на php всеми "фибрами души"... есть ли выход? или это утопия?
__________________
убрано по просьбе администратора ![]() |
![]() |
![]() |
# 2 | |
МОД-Оператор ЭВМ
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Хотя можно поизобретать велосипед... например почему у тебя XML такой большой? Наверно много CDATA/BASE64? Пройди по файлу предварительно заменив такие блоки на что-нибудь вроде <link token="18789782" />, а сами данные сложи в файл/файлы. Потом (RPC/preg_replace) замени обратно. |
|
![]() |
![]() |
# 3 |
Full Member
Регистрация: 29.05.2002
Сообщения: 544
![]() ![]() ![]() ![]() ![]() |
последнее время много работаю с контент провайдерами мобильной мультимедии(java игры, мелодии, картинки т.д.), дамп базы они предоставляют в xml. т.к. xml документ составлен, как Бог на душу положит, то мне приходиться собирать свою свобственную базу каждый раз в ручную.
нет ли в php xml reader-а?(побыстрее), скажем в .NET есть класс XmlReader, который двигается по документу только вперед и предоставляет доступ только на чтение. Мне бы такой подошел идеально. Видимо, придеться все-таки обратиться к SAX ![]()
__________________
убрано по просьбе администратора ![]() |
![]() |
![]() |
# 4 | ||
МОД-Оператор ЭВМ
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Цитата:
|
||
![]() |
![]() |
# 5 |
Full Member
Регистрация: 29.05.2002
Сообщения: 544
![]() ![]() ![]() ![]() ![]() |
переписал все прасеры под simpleXML.
выигрыши: 1. размер кода стал примерно на треть меньше. 2. прекарсно работает с большими файлами. 3. писать парсеры проще и быстрее. еще раз беждаюсь что php5 рулит ![]() теперь перевожу весь код, который работает с xml на 5-ую версию.
__________________
убрано по просьбе администратора ![]() |
![]() |
![]() |
# 6 | |
МОД-Оператор ЭВМ
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
- Не все клиенты хостятся у меня/тебя => не везде стоит php5. - Проблема защиты кода. Zend Enc./SG не хакнули (лицензия 3000$-5000$), а бесплатная альтернатива Turck MMCache сдохла, да и loader мало где стоит. - На nix* были замечены отказы php4-приложений, даже со включенной ZE1-совместимостью. |
|
![]() |