Aporte: Como crear banners aleatorios con PHP – Sistema para sacar banner al azar

  • Autor Autor Jaison Mora
  • Fecha de inicio Fecha de inicio
Jaison Mora

Jaison Mora

Zeta
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
Para crear un banner que vaya saliendo al azar entre varios con PHP se puede de muchas formas pero siempre hay unas más sencillas que otras y creo que esta que os muestro a continuación es una de las más sencillas

Código PHP:

PHP:
$numbanners = 3; //numero de banners
$random = rand(1,$numbanners);
$enlace = array();
$imagen = array();
$enlace[1] = "http://www.ejemplo1.com";
$imagen[1] = “imagen1.jpg”;

$enlace[2] = "http://www.ejemplo2.es";
$imagen[2] = “imagen2.png”;

$enlace[3] = "http://www.ejemplo3.net";
$imagen[3] = "imagen3.gif";

echo "<a href='".$enlace[$random]."' target='_blank'><img src='".$imagen[$random]."'></a>";

Explicación del codigo:


* Linea 1: Creamos la variable $numbanners y en ella ponemos la cantidad de banners para luego utilizarlo con la función rand
* Linea 2: Creamos la variable $random y en ella almacenamos el resultado de la función rand, esta función lo que hace es obtener un numero aleatorio en el intervalo que le digamos.
* Linea 3: Creamos el array $enlace.
* Linea 4: Creamos el array $imagen.
- Tras definir todo esto simplemente insertamos los datos en los arrays como se muestra en el código, debemos insertar en los arrays tantos datos como banners tengamos.
Por ultimo con la función echo sacamos por pantalla el banner.

Un saludo.😛7:😛7:
 
Última edición:
Gracias por el aporte, aca te dejo lo mismo pero de otra manera 🙂
PHP:
<?php
	$ADS[] = array('http://www.url1.com','http://www.url1.com/imagen1.jpg');
	$ADS[] = array('http://www.url2.com','http://www.url1.com/imagen2.jpg');
	$ADS[] = array('http://www.url3.com','http://www.url1.com/imagen3.jpg');
	$ADS[] = array('http://www.url4.com','http://www.url1.com/imagen4.jpg');
	$ADS[] = array('http://www.url5.com','http://www.url1.com/imagen5.jpg');

	$CUAL = array_rand($ADS,1);
	echo '<a href="'.$ADS[$CUAL][0].'" target="_blank"><img src="'.$ADS[$CUAL][1].'" border="0"></a>';
?>

:encouragement:

PD: Fijate que tenes las comillas francesas (creo que se llaman asi), esos no se usan, o son la comillas simple o la doble...
PHP:
echo “<a href=’”.$enlace[$random].”‘ target=’_blank’><img src=’”.$imagen[$random].”‘></a>”;
seria:
PHP:
echo "<a href='".$enlace[$random]."' target='_blank'><img src='".$imagen[$random]."'></a>";
Ya que sino da error el code!
 
Gracias por el aporte, aca te dejo lo mismo pero de otra manera 🙂
PHP:
<?php
	$ADS[] = array('http://www.url1.com','http://www.url1.com/imagen1.jpg');
	$ADS[] = array('http://www.url2.com','http://www.url1.com/imagen2.jpg');
	$ADS[] = array('http://www.url3.com','http://www.url1.com/imagen3.jpg');
	$ADS[] = array('http://www.url4.com','http://www.url1.com/imagen4.jpg');
	$ADS[] = array('http://www.url5.com','http://www.url1.com/imagen5.jpg');

	$CUAL = array_rand($ADS,1);
	echo '<a href="'.$ADS[$CUAL][0].'" target="_blank"><img src="'.$ADS[$CUAL][1].'" border="0"></a>';
?>

:encouragement:

PD: Fijate que tenes las comillas francesas (creo que se llaman asi), esos no se usan, o son la comillas simple o la doble...
PHP:
echo “<a href=’”.$enlace[$random].”‘ target=’_blank’><img src=’”.$imagen[$random].”‘></a>”;
seria:
PHP:
echo "<a href='".$enlace[$random]."' target='_blank'><img src='".$imagen[$random]."'></a>";
Ya que sino da error el code!

Tienes razòn no me avia fijado bien en las comillas, Es que mi teclado me las tira asi esta loco jeje pero igual ya lo correji muchas gracias cicklow saludos. :encouragement:
 
Tienes razòn no me avia fijado bien en las comillas, Es que mi teclado me las tira asi esta loco jeje pero igual ya lo correji muchas gracias cicklow saludos. :encouragement:

configuralo para español latino asi no aparecen esas comillas 🙂
 
Ese código es muy mejorable, yo haría algo así:

PHP:
$banners = array(
	array('http://www.ejemplo1.com', 'imagen1.jpg'),
	array('http://www.ejemplo2.com', 'imagen2.jpg'),
	array('http://www.ejemplo3.com', 'imagen3.jpg')
);
$rand = mt_rand(0, count($banners)-1);
echo '<a href="'.$banners[$rand][0].'" target="_blank"><img src="'.$banners[$rand][1].'" /></a>';
 
Muy cierto, es mejorable, yo usaría la escritura de un simple archivo de texto para hacer que los banner se vieran si o si.

De esta forma dependes que la función mt_rand o similares muestre todos.
 
Hola a todos.
A mi me interesaría que muestre las imagenes en su orden natural.
Es decir, la primera vez que cargues la página, sea el banner 1, la segunda el 2, etc.

O que muestre todas esas imágenes de manera aleatoria en varias posiciones, no sólo en una posición.
Os agradecería una ayuda con esto.
Gracias.
 
Lo mas facil. Armate una carpeta con los banners 1.jpg 2.jpg 3.jpg etc. Luego simplemente haces <img src="banners/<?echo mt_rand(1,3);?>.jpg"/>
 
Habría que cambiar ese código por el código que tenemos en el tema?? o incluírselo??

PHP:
$banners = array(
    array('http://www.ejemplo1.com', 'imagen1.jpg'),
    array('http://www.ejemplo2.com', 'imagen2.jpg'),
    array('http://www.ejemplo3.com', 'imagen3.jpg')
);
$rand = mt_rand(0, count($banners)-1);
echo '<a href="'.$banners[$rand][0].'" target="_blank"><img src="'.$banners[$rand][1].'" /></a>';
 
Atrás
Arriba