Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/01/2011, 22:00
RodrigoG
 
Fecha de Ingreso: diciembre-2009
Ubicación: dirname(__FILE__)
Mensajes: 149
Antigüedad: 15 años
Puntos: 11
[Aporte] Cómo hacer un sistema simple de banner cambiantes al azar

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
  1. <?php
  2. function imagenAlAzar($ruta = 'imagenes') {
  3. $fotos = scandir($ruta, 1); // Extrae todas los archivos que están en la carpeta $ruta.
  4. $cantidad = count($fotos) - 3; // Elimina los puntos '.' y '...'.
  5. return $ruta . '/' . $fotos[rand(0, $cantidad)]; // Selecciona una foto al azar del arreglo fotos.
  6. }
  7. ?>
  8. <html>
  9. <head>
  10. <title>Mi Banner</title>
  11. </head>
  12. <body>
  13. <h1>Mi Banner</h1>
  14. <img src="<?php echo imagenAlAzar() ?>" alt="banner" />
  15. </body>
  16. </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.
__________________
Estreno blog ~ DesarrolladorWeb.cl :)

Última edición por RodrigoG; 27/01/2011 a las 22:03 Razón: se me olvidó un punto