Добавлено: 14.12.2017 / 09:43
# ДоХтор (07.12.2017 / 21:18)
// Массив случайных значений
$array = [
'A',
'B',
'C',
'D',
'E'
];
$arr = 'arr.txt';
$temp = file_exists($arr) ? file($arr, FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES)
Всё работает прекрасно, спасибо. Вот теперь решил усовершенствовать скрипт в целом, но не знаю, как правильно поступить с твоим кодом гг.
В общем, идея такова — массив бернётся из названий файлов в папке, которые я получаю при помощи scandir();
По работе твоего кода, сначала считывается массив, записывается во временный файл, затем уже из временного файла берутся файлы для случайного воспроизведения, при этом удаляеся проигранный файл и так до конца, пока не уйдут из списка все файлы и временный файл не перезагрузится по-новому.
Проблема сейчас в том, что этот массив
$array = [
'A',
'B',
'C',
'D',
'E'
];
считывался каждый раз при обращении к скрипту, а сейчас это уже не массив списком в текстовом файле, а сканирование директории и на это хоть и не много, но всё же уходит какая-то секунда, то есть задержка в работе скрипта.
Вот собственно и вопрос, как сделать проверку, чтобы временный файл $arr = 'arr.txt'; проверялся, есть он или нет, доигран до конца или не пустой? И только уже после этого уже выполнять scandir(); либо играть дальше arr.txt
Другими словами, чтобы не сканировать каждый раз директорию.
Добавлено: 14.12.2017 / 10:38
Это типа вот проверка?
$temp = file_exists($arr) ? file($arr, FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES) : [];
!empty($temp) ?: $temp = $a;
Только не пойму, что и как там проверяется))