Спасибо за совет, но, видимо, я не совсем ясно пояснил, что имею в виду.
То, что предлагаешь ты , состоит из нескольких этапов:
1) считывание файла в память ЦЕЛИКОМ
2) обработка в памяти
3) запись в файл целиком.
Это очевидный вариант, но он обладает рядом существенных минусов:
1) происходит чтение/запись ОГРОМНОГО массива данных
2) необходимо заботится о блокировки файла на время работы с ним
и т.д и т.п.
Меня же интересует вариант другой. Я привязываю к идентификатору файл таким образом, что для меня он выглядит уже как массив.
Я обращаюсь к его конкретной строке по ее номеру, и модуль сам находит ее и делает что мне надо. При этом он работает только с нужной мне строкой. Фактически это работа с DBM-базой данных.
Пример: у меня есть текстовый конфикурационный файл, в первой строке которого находится счеткик. Тогда чтобы мне считать текушее его показание для использования в дальнейшем, при этом увеличив индекс на 1 надо всего лишь 3 строки + добавление модуля в начале скрипта (код дан на Perl):
Код:
use DB_File;
...
$numobj=tie(@numline, "DB_File", "имя_текстового_файла", O_RDWR|O_CREAT, 0666, $DB_RECNO); # привязываем файл
$orgnum=$numline[0]=$numline[0]+1; # считываем индекс счетчика в переменную $orgnum
undef $numobj; untie @numline; # отвязываем файл
Собственно, аналог вот чего мне хотелось бы найти в PHP