alexmo

Рейтинг
0
Регистрация
22.01.2017

Итак решение найдено!!!

Всем СПАСИБО!

Дано:

1. бесплатный хостинг с поддержкой php 5.6

2. Папка объемом 10 ГБ. с файлами в кол-ве 2000 шт. средним размером в 30 Мб.

Нужно:

1. из папки выбрать случайный файл

2. Выбрать, из выбранного случайного файла, случайную строку.

РЕШЕНИЕ:

Код:

function randomString($files, $folder){

//выбираем случайный файл из папки

$files_rand = $files[rand(0, sizeof($files)-1)];

//выбираем случайную строку из файла

$all_str = file($folder . '/' . $files_rand);

$i = rand(0, sizeof($all_str)-1);

//выводим строку – если она существует в массиве, и не пуста

if(!empty($all_str[$i])){

echo $all_str[$i];

return;

}

else{

// иначе – вызываем функцию повторно

randomString($files, $folder);

}

}

//указываем папку с файлами

$folder = 'полный путь к папке с txt файлами';

$files = scandir($folder);

randomString($files, $folder);

В ИТОГЕ:

1. Прогнали данный скрипт 100000 раз

2. Ошибок не обнаружено!