Как вывести рандомное изображение из директории?

Чтобы вывести рандомное изображение из директории в PHP, вы должны выполнить следующие шаги:

1. Определите директорию, из которой вы хотите выбирать изображения. Например, images/.

2. Создайте массив, в котором будут содержаться все имена файлов из данной директории. Используйте функцию scandir(), чтобы получить список файлов.

$directory = 'images/';
$files = scandir($directory);

3. Отфильтруйте полученный список файлов, оставив только изображения. Для этого можно воспользоваться функцией array_filter() и лямбда-функцией в качестве аргумента.

$images = array_filter($files, function($file) {
    $file_info = pathinfo($file);
    $extension = $file_info['extension'];
    $allowed_extensions = ['jpg', 'jpeg', 'png', 'gif'];
    return in_array($extension, $allowed_extensions);
});

4. Если полученный массив $images содержит хотя бы одно изображение, выберите случайное имя файла из него. Для этого можно использовать функцию array_rand().

if (!empty($images)) {
    $random_image = $images[array_rand($images)];
    // Выводим изображение
    echo '<img src="'.$directory.$random_image.'" alt="Random Image">';
}

Если директория содержит только изображения с разрешениями, указанными в массиве $allowed_extensions, то код выше выберет случайное имя файла и выведет его в виде HTML-тега img.

Важно отметить, что перед выводом полученного имени файла, обязательно нужно проверять наличие этого файла в указанной директории, чтобы избежать ошибки.

if (file_exists($directory.$random_image)) {
    // Выводим изображение
    echo '<img src="'.$directory.$random_image.'" alt="Random Image">';
} else {
    echo 'Файл не найден';
}

Таким образом, вы сможете вывести рандомное изображение из директории в PHP.