Чтобы вывести рандомное изображение из директории в 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.