Вы можете использовать fseek
или file_get_contents
с параметром maxlen. Но чтобы прочитать ровно 3 строки, я на самом деле не знаю, если вы не знаете, как долго эти строки.
функция file
читает все строки в массив.
Редактировать два:
Мог бы прочитать файл побайтово (хотя с моей точки зрения это плохая идея) и остановиться после того, как вы встретите каждый \n
или PHP_EOL
и использовать счетчик или что-то еще для управления тем, как он используется.
Редактировать один:
Мне только пришла в голову эта идея: вы можете создать пользовательскую потоковую оболочку и обработать чтение строк 3 на 3. Это отличный инструмент для файлов, проверьте http://www.php.net/manual/en/class.streamwrapper.php и управляйте им с помощью контекста или переменных, или чего-либо еще.
Полагаю, вам все равно придется найти алгоритм для этого. Я еще не пробовал, но дайте нам знать, если вы справитесь.