Mostrar imágenes aleatorias con PHP

En ocasiones nos gusta incluir imágenes aleatorias en nuestra web, cómo he hecho yo por ejemplo con la cabecera de ésta página web. Hacer ésto es bastante sencillo, aquí os dejo un ejemplo:

<?php
      $imagen=rand(1, 99);
      if($imagen<=20)  
      {
      ?>
        <img src="images/top-cabecera/top1.png" alt="Imagen 1">
      <?php
      } 
      if(($imagen>20) && ($imagen<40))
      {
      ?>
        <img src="images/top-cabecera/top2.png" alt="Imagen 2">
      <?php
      } 
      if(($imagen>=40) && ($imagen<60))
      {
      ?>
        <img src="images/top-cabecera/top3.png" alt="Imagen 3">
      <?php
      }  
      if(($imagen>=60) && ($imagen<80))
      {
       ?>
        <img src="images/top-cabecera/top4.png" alt="Imagen 4">
      <?php
      } 
      if($imagen>=80)
      {
       ?>
        <img src="images/top-cabecera/top5.png" alt="Imagen 5">
      <?php
      } 
?>

El script lo que hace básicamente es utilizar la función rand que genera un número aleatorio. Luego, para mostrar una u otra imagen lo que se hace es una comparación con el número generado, es decir, si es menor de 20 se muestra una imagen, si es mayor otra, etcétera.


Edición(30-7-2010):
El código anterior está bien en el caso de que tengamos pocas imágenes que roten, pero si tenemos muchas es mejor utilizar éste:

<?php
$random=rand(1, 20);
echo "<img src='http://tuweb.com/images/top-cabecera/top".$random.".png' border='0'>";
?>

En la variable $random el primer valor es el mínimo y el segundo el máximo. Nos irá generando ficheros llamados topX.png, donde X será un número aleatorio.


Compártelo:
  • BarraPunto
  • email
  • Facebook
  • Meneame
  • MySpace
  • Twitter
  • del.icio.us
  • Digg
  • Reddit
  • Slashdot
1 votos Vota!!

1 Comentario

  1. silviaNo Gravatar Noviembre 5th, 2010 6:10 pm

    Hola me re ayudó tu script. Lo usé para mostrar una imagen según el día de la semana. Cambiando
    $imagen=rand(1, 99); por
    $imagen=date(“w”);

    Después van 7 if para cada día de la semana.
    if($imagen==1)
    {

    ?>

    Te dejo la página donde lo usé http://www.desdeotro.com.ar

Deje un comentario