Hola,
Tengo un sitio en construcción y pensé que sería buena idea poner una imagen de fondo que cambie por cada carga, comparto aquí la función, no es nada de otro mundo pero quizás le sirva a alguien.
Lo que hace esta función es leer todos los nombres de los archivos que están en la carpeta dada y retorna uno al azar.
Usos:- Banner cambiante.
- Imagen de fondo cambiante, etc.
La función
Código PHP:
Ver original<?php
function imagenAlAzar($ruta = 'imagenes') {
$fotos = scandir($ruta, 1); // Extrae todas los archivos que están en la carpeta $ruta. $cantidad = count($fotos) - 3; // Elimina los puntos '.' y '...'. return $ruta . '/' . $fotos[rand(0, $cantidad)]; // Selecciona una foto al azar del arreglo fotos. }
?>
<html>
<head>
<title>Mi Banner</title>
</head>
<body>
<h1>Mi Banner</h1>
<img src="<?php echo imagenAlAzar() ?>" alt="banner" />
</body>
</html>
La gracia es que si luego se suben nuevas imágenes o se eliminan de la carpeta no hay que hacer nada más, scandir se encarga automáticamente de escanear el directorio.
Saludos.