Intereting Posts
Захват текста между квадратными скобками после подстроки в PHP Ошибка останова xdebug Cake не может подключиться к базе данных PhpStorm не откроет файл моментального снимка профайлера xdebug SQL-инъекция | Изменение значений идентификатора Вход в Meetup.com с помощью Curl Обрезаемая Неустранимая ошибка: Аргумент 1 передан? Symfony2.1 Оператор Insert не работает с использованием execute (array ()) расширения PDO jQuery mobile: открытая панель не запускается после навигации по страницам Как получить широту и долготу пользователя по IP-адресу или точному местоположению Как получить значение выбранного элемента внутри datalist в javascript? Обрабатывать арабскую строку в PHP с помощью Eclipse Вычислить наивысшие повторяющиеся целые числа из двух ассоциативных массивов удалить все специальные символы В начале строки с использованием PHP Сортировка многомерного массива?

Выбор случайного файла из каталога

Я пытаюсь создать сайт, на котором пользователи могут отправлять фотографии, а затем случайным образом просматривать другие фотографии по одному на другой странице. У меня есть каталог под названием «uploads», где представлены изображения. У меня возникли проблемы с чтением изображений из файла. Я просто хочу случайным образом выбрать изображение из загрузки каталога и показать его на странице. Любые предложения оценили.

Solutions Collecting From Web of "Выбор случайного файла из каталога"

Вы можете использовать glob для получения всех файлов в каталоге, а затем взять случайный элемент из этого массива. Подобная функция сделает это за вас:

function random_pic($dir = 'uploads') { $files = glob($dir . '/*.*'); $file = array_rand($files); return $files[$file]; } 

Я немного изменил его, чтобы получить более одного случайного файла из каталога с использованием массива.

 <?php function random_pic($dir) { $files = glob($dir . '/*.jpg'); $rand_keys = array_rand($files, 3); return array($files[$rand_keys[0]], $files[$rand_keys[1]], $files[$rand_keys[2]]); } // Calling function list($file_1,$file_2,$file_3)= random_pic("images"); ?> 

Вы также можете использовать цикл для получения значений.

Или вы можете использовать opendir () вместо glob (), потому что это быстрее