17.11.2011, 13:33
|
Start Post: PHP - случайная строка из большого файла (500мб)
|
ё
Регистрация: 26.10.2011
Сообщений: 1,520
Бабло: $311895
|
Использовать для файла в 500мб и 15кк строками функции file() и file_get_contents() - верх извращения.
Нужно какое то другое решение. Уже естественно нагуглил несколько, но у меня во всех случаях выдается пустая строка. В общем вот сорц
PHP код:
$h = fopen("text.txt",'r');
$counter = 0;
while (!feof($h)) {
fgets($h);
$counter++;
}
rewind($h);
$line = rand(0, $counter);
$counter = 0;
while (!feof($h)) {
if ($counter == $line) {echo fgets($h);}
$counter++;
}
fclose($h);
Сперва формируется кол-во строк, далее делаем случайные выборки. Суть в том, что у меня переменная $counter не считается, ну т.е. не увеличивается. Почему - я так и не понял. Попробовал заменить в файле \n на \r\n, не помогло. Попробовал еще несколько аналогичных вариантов, все равно не работает. Хелп
|
|
|