Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/07/2009, 20:00
Avatar de arthpix
arthpix
 
Fecha de Ingreso: diciembre-2003
Ubicación: Cancún
Mensajes: 2.340
Antigüedad: 20 años, 4 meses
Puntos: 93
[Pequeño aporte] Minirotador de banners multiples

Necesitaba un rotador de banners en php para desplegar varios al mismo tiempo, de forma aleatoria y encontré por la web multitud de éstos. Sin embargo o el pedazo de código era muy largo para desplegar dos simples banners o en muchas ocasiones repiten el mismo banner en la página.

Me puse a investigar un poquito más y encontré la función array_rand que es muy sencilla de usar y cumple perfectamente el objetivo

solo necesitas meter el codigo php en tu pagina (o llamarla con include), crear un archivo de texto con el código para despegar tus banners, uno en cada línea y listo.

primero crea un archivo de texto plano con tu lista de vinculos / banners, llamale por ejemplo listado.txt:
Cita:
<a href="unapagina.html"><img src="imagen1.gif"></a>
<a href="http://www.otrositio.com">Otro sitio</a>
<div class="miclase"><a href="otrapagina.php">El contenido</a></div>
<a href="otrapagina.html"><img src="imagen2.gif"></a>
En tu archivo de texto puedes meter todo el código html que necesites. Combinándolo con creatividad las posibilidades son casi ilimitadas, puedes por ejemplo utilizar alguno de esos plugins jquery que insertan multimedia mediante js, gifs animados, texto formateado con CSS...

Ahora inserta código en tu pagina.php, donde quieras que aparezca el rotador de banners como en estos ejemplos:
Código PHP:
// Para mostrar un banner
$listado file('ruta/al/listado.txt');
$numBanners array_rand($listado1);
echo 
$listado[$numBanners[0]];

// Para mostrar dos banners
$listado file('ruta/al/listado.txt');
$numBanners array_rand($listado2);
echo 
$listado[$numBanners[0]];
echo 
$listado[$numBanners[1]];

// Para mostrar tres banners
$listado file('ruta/al/listado.txt');
$numBanners array_rand($listado3);
echo 
$listado[$numBanners[0]];
echo 
$listado[$numBanners[1]];
echo 
$listado[$numBanners[2]]; 
Espero le sea de utilidad a alguien.


Saludos,
__________________
Antes de hacer rabietas infórmate: Linux != Windows