Я пытаюсь создать сайт, на котором пользователи могут отправлять фотографии, а затем случайным образом просматривать другие фотографии по одному на другой странице. У меня есть каталог под названием "uploads", где представлены изображения. У меня возникли проблемы с чтением изображений из файла. Я просто хочу случайным образом выбрать изображение из загрузки каталога и показать его на странице. Любые предложения оценили.
Выбор случайного файла из каталога
Ответ 1
Вы можете использовать glob, чтобы получить все файлы в каталоге, а затем взять случайный элемент из этого массива. Функция, подобная этой, сделает это за вас:
function random_pic($dir = 'uploads')
{
$files = glob($dir . '/*.*');
$file = array_rand($files);
return $files[$file];
}
Ответ 2
Я немного изменил его, чтобы получить более одного случайного файла из каталога с использованием массива.
<?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");
?>
Вы также можете использовать цикл для получения значений.
Ответ 3
Или вы можете использовать opendir() вместо glob(), потому что быстрее