Подтвердить что ты не робот

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

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

4b9b3361

Ответ 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(), потому что быстрее