Файл 1.txt - текстовой файл , представляющий из себя 1тыс строк текста на русском языке. Задача кода - вывести 15 случайных строк из текстового файла без перемешивания. Нижеприведенный код выполняет эту функцию, но он каждый раз перемешивает файл, что при множественном обращении к серверу, затрудняет работу скрипта. Как вывести 15 случайных строк без перемешивания? Т.е. при множественном обращении сервера к скрипту, каждые 15 новых строк должны отличаться. Ну и разумеется строки доллжны быть написаны также как и в самом файле - построчно (т.е. строки не соединяем никак)
<?php
$arr = file('https://site/1.txt');
shuffle($arr);
$res = array_slice($arr, 0, 15);
foreach ($res as $str) {
$get = mb_detect_encoding($str, array('utf-8', 'cp1251'));
echo iconv($get, 'UTF-8', $str);
}
?>
Очень бы хотелось использовать вывод кириллицы как в коде выше, потому что был геммор на одном из вариантов сервера, где строки выводились аброказяброй. Код выше решил эту проблему.
Ранее вывод коряво осуществлялся таким методом:
foreach($res as $str){
echo htmlspecialchars($str);
}
?>
Формат вывода:
русский текст случайная строка из файла 1.txt
русский текст случайная строка из файла 1.txt
русский текст случайная строка из файла 1.txt
русский текст случайная строка из файла 1.txt
...
русский текст случайная строка из файла 1.txt