Я пытаюсь создать сайт, на котором пользователи могут отправлять фотографии, а затем случайным образом просматривать другие фотографии по одному на другой странице. У меня есть каталог под названием «uploads», где представлены изображения. У меня возникли проблемы с чтением изображений из файла. Я просто хочу случайным образом выбрать изображение из загрузки каталога и показать его на странице. Любые предложения оценили.
Вы можете использовать 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 (), потому что это быстрее