Mostrar imagen aleatoria con PHP

Este código nos permite mostrar una imagen aleatoria con PHP, esto nos puede servir para varios casos, uno de esos casos podria ser para mostrar un banner publicitario que se muestre de forma aleatora cada vez que se ejecuta la página.

<?php
/**
 * Código que muestra imagenes aleatorias
 *
 * Este código, busca las imagenes dentro de una carpeta especificada y muestra
 * una de ellas de forma aleatoria
 */
# indicamos la carpeta donde se encuentran las imagenes.
# NOTA;
# Tiene que finalizar en /
# Para buscar en la carpeta donde se encuentra el script, poner: $carpeta="";
$carpeta="";
# definimos un array que contendra todas las imagenes de la carpeta
$imagenes=array();
// devuelve el tipo mime de su extensión
$finfo = finfo_open(FILEINFO_MIME_TYPE);
// recorremos toda la carpeta para buscar los archivos
foreach (glob($carpeta."*") as $filename) {
$mime=finfo_file($finfo, $filename);
 if($mime=="image/jpeg" || $mime=="image/pjpeg" || $mime=="image/gif" || $mime=="image/png")
 {
 # guardamos las imagenes en un array
 $imagenes[]=$filename;
 }
}
finfo_close($finfo);
# buscamos un numero aleatorio entre la cantidad de imagenes encontradas
$aleatorio=rand(0,count($imagenes)-1);
# mostramos dicha imagen
echo "<img src='".$imagenes[$aleatorio]."'>";
?>

Este código lo encontre en lawebdelprogramador.comhttp://www.lawebdelprogramador.com/codigo/PHP/2653-Mostrar_una_imagen_aleatoriamente.html,

Aca tengo otro código mucho mas simple este yo lo hice y lo utilice en una de las páginas de un cliente para que vaya cambiando la imagen de fondo de la página, cada vez que se actualiza la página se cambia la imágen de fondo.

Este código también se pude utilizar para mostrar banner aleatorio.

<?php
$numero = rand(1, 3);
if($numero == 1){ $fondo = "img1.jpg";}
if($numero == 2){ $fondo = "img2.jpg";}
if($numero == 3){ $fondo = "img3.jpg";}

echo "<img src='images/'".$fondo."/>";

?>

2 comentarios en “Mostrar imagen aleatoria con PHP”

  1. Hola tengo una pregunta algo compleja. Este código es para imágenes aleatorias en un solo lugar, mi pregunta es. Cómo sería uno que haga que se carguen por ejemplo 2 imágenes a la vez en dos partes diferentes de la web. Es decir que sigan siendo random pero que cada vez que cargues la web salga un grupo de imágenes como 1,2,3,4 en distintas areas y luego que al recargar salgan 5,6,7,8. Como las imágenes están en distintas areas creo que tendría que el sitio tener un código en cada area independiente que responda a un código que llame a cada imagen para que sea la que se vea

  2. Hola. Estoy comenzando con html, php y css. Resulta que necesito mostrar cuatro imagenes en pantalla, pero la idea es que cada vez que se ingrese a esa pagina, las imagenes se deben organizar aleatoriamente, o sea no el mismo orden.
    Gracias

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.