$line = file("test.txt"); Как получить строки в несколько подходов

silmarion

Полезный
Регистрация
21 Июн 2012
Сообщения
194
Реакции
19
Доброго всем дня, есть большие текстовые файлы, порядка 50кк строк в каждом, вставляю всю эту хрень в mysql.

Как получить строки из test.txt не сразу все, а к примеру по 1000 за раз?

С первой по 1000
с 1001 по 2000
с 2001 по 3000
и т.д


А то за 1 раз обрабатывать такие файлы нереально
 
Ну или можно через fread читать с указанием длины

while (!feof($handle))
{
$contents .= fread($handle, 8192);//8kb
}
 
Последнее редактирование:
Это получается чтото вроде такого?
$contents = file("test.txt");
while (!feof($handle))
{
$contents .= fread($handle, 8192);//8kb
}

?

Он получается будет считывать частями по 8кб из этого файла, или прочитает только первые 8кб?
 
А построчно как то можно? По 1000 строк за раз к примеру пока не дойдет до конца файла?
если побайтно то может отрезать кусок строки к примеру
 
А построчно как то можно? По 1000 строк за раз к примеру пока не дойдет до конца файла?
если побайтно то может отрезать кусок строки к примеру
попробуйте разобрать пример с splfileobject seek, ссылку я запстил ранее
 
Можно и array_splice но эта функция вырезает строки из массива
 
Назад
Сверху