Mostrar una imagen aleatoria

Una imagen y un enlace aleatorio
Una imagen y un enlace aleatorio

El año pasado expliqué como mostrar una par de imágenes al azar mediante PHP. Hoy explicaré como mostrar un enlace aleatorio con una imagen aleatoria mediante un array y PHP.

La matriz tendrá un índice numérico que contendrá una nueva matriz, esta vez con dos índices: URL e IMG_URL, que indicarán la URL del enlace y la URL de la imagen, respectivamente. Mediante la función rand obtendremos un número aleatorio entre el primer índice de la matriz (0) y el último (determinado por el puntero de la matriz). Después moveremos el puntero interno de la matriz al último elemento y a continuación crearemos una nueva variable que almacene la matriz que contiene el índice N (donde N es el número aleatorio obtenido previamente) de la primera matriz.

El código de la matriz de mi ejemplo será el siguiente (que debe colocarse el principio del archivo, así se puede mostrar la imagen en cualquier otro lugar del archivo):

<?php // Primer elemento de la matriz $array[] = array( 'URL' => 'http://sumolari.com', 'IMG_URL' => 'http://sumolari.com/demos/imagen-aleatoria/img/sumolari.png' ); // Segundo elemento de la matriz $array[] = array( 'URL' => 'http://sumolari.com/mostrar-una-imagen-aleatoria/', 'IMG_URL' => 'http://sumolari.com/demos/imagen-aleatoria/img/tutorial.png' ); // Tercer elemento de la matriz $array[] = array( 'URL' => 'http://google.com', 'IMG_URL' => 'http://sumolari.com/demos/imagen-aleatoria/img/google.png' ); // Movemos el puntero al último element end($array); // Calculamos el último índice $last_key = key($array); // Calculamos un número al azar entre 0 y el último índice $key = rand(0, $last_key); // Almacenamos los datos de la imagen que vamos a mostrar $item = $array[$key]; ?>
Code language: PHP (php)

Y a continuación sólo tendremos que mostrar el enlace, usando un código como el siguiente:

<a href="<?php echo $item['URL']; ?>"><img src="<?php echo $item['IMG_URL']; ?>" /></a>
Code language: PHP (php)

La ventaja de este script comparado con el anterior es que en éste podemos mostrar un enlace y podemos definir la URL a la imagen, lo cual lo hace más flexible. Además podemos añadir tantas imágenes como queramos a la matriz sin preocuparnos por adaptar el script, ya que el último índice se calcula de forma dinámica.

Podéis ver un ejemplo del funcionamiento en esta página. Si tenéis cualquier duda con el tutorial, no dudéis en preguntarla en los comentarios.

5 thoughts on “Mostrar una imagen aleatoria

Leave a Reply

Your email address will not be published.

Required fields are marked *

Your avatar