Вот всегда и советуют делать через массив. Но ведь это же забивка памяти и проблема доступа к файлу, если обновременно идет другое обращение.
На Perl'е есть шикарный модуль DB_File, который позволяет общаться с файлом как с массивом и поддерживает всевозможные операции (вплоть до вставление строки до или перед другой конкретной строкой). Неужеле никто не создал подобное под PHP ?