21 декабря 2011

Читаем случайную строку из огромного файла с маленькой нагрузкой. PHP

Тему поднял на HashCode, потому что стал бояться что хостер меня прирежет за такие дела как поиск случайного сайта из базы Яка. Страшно жить, когда нагрузку создаешь и понимаешь это. Поэтому стал бороться по другому.

Вот все совету которые мне дали на Хашкоде:

$fp     = fopen($filename, 'r');
$offset = mt_rand(0, filesize($filename) - 1);
fseek($fp, $offset);
// пока не встретится перенос строки или начало файла
while ($offset > 0 && fgetc($fp) != "\n") {
    fseek($fp, --$offset);
}
$line = fgets($fp);

Видеочат рулетка