много str_replace и большой файл

leosha

Старожил PHPCLub
много str_replace и большой файл

Чего делаю:
открываю fopen файл и делаю десяток операций str_replace. Меньше не получается, к сожалению..
Работает шибко медленно (файл до 500 килобайт).
Подскажите, как это можно (нужно?) делать более оптимально?
 

nikita

Guest
Если память позволяет, то можно делать $cont = file("filename.txt").
Получишь в $cont массив из строк. А дальше циклом replace.

А можешь и внешнюю программу вызывать (Perl, C).
Быстрее с большими файлами работать будет.
 

leosha

Старожил PHPCLub
и чем это отлдичается приципиально от того что я делаю?
 

nikita

Guest
А после fopen ты чем читаешь ? И какая у тебя машина (память, частота, система) ?
 

leosha

Старожил PHPCLub
fopen открываем файл.
с помощью eregi вырезаем кусок (около 400 кило) этого файла. Потом делаю десяток str_replace и пишу в новый файл.
P-II 300, 96 Mb, Win98, PHP 3.0.14 - все это делается около 40 сек. Что не здорово, конечно же. Потом конечно все это будет работать под *nix, но я не верю что станет шибко быстрей...Или станет? =)
 

nikita

Guest
Win98 :))) Что же ты хочешь ?
На Unix будет работать раз в 100 быстрее.
 
Сверху