El día de ayer fui consultado por un colega de como hacer un pequeño rotador de banners con PHP lo más versátil y adaptable para usarlo en distintas ubicaciones de una misma página y sin usar una base de datos, a lo cual le propuse me diera un par de días y para sorpresa mía fue más fácil de lo que pensaba.

En principio necesitamos 3 archivos, banners.txt, banner.php y un archivo index.php este ultimo no es necesario, sino que es para mostrar como funciona finalmente el ejemplo.

banner.txt
(Estructura URL|imagen|texto alternativo|destino|ubicacion)


http://www.augcba.com.ar|Ausergroups.gif|Grupo de usuarios Adobe Cordoba|_blank|1
http://www.adobe.com|adobesystem.gif|Adobe Systemes Inc.|_blank|2
http://www.google.com|google.gif|Google.com|_blank|1

Como se ve hay definidos tres URL, dos de las cuales son identificados por el numero 1 lo cual le indicará a nuestro script donde deberá ser mostrado (si en la sección 1 o 2).
NOTA: en el banners.txt tengas cuidado de no dejar lineas en blanco tanto al principio como al final del archivo

Pasemos al banner.php

<?php
function escribeBanner($ubicacion) {
$fp = fopen("banners.txt", "r");
$indice = 0;
while (!feof($fp)) {
$linea[$indice] = fgets($fp, 256);
$indice++;
}
// Anchos predefinidos de los banners
if($ubicacion == 1){
$ancho = "150";
$alto = "60";
} elseif($ubicacion == 2){
$ancho = "150";
$alto = "60";
}
$rIndice = mt_rand(0, $indice -1);
list($url, $img, $alt, $tgt, $ub) = explode("|", $linea[$rIndice]);
if($ub == $ubicacion){
$banner = "<a href=\"$url\" target=\"$tgt\"> <img src=\"$img\" border=\"0\" alt=\"[$alt]\"></a>\n";
return $banner;
}
}
?>

Ahora estaríamos en condiciones de probar nuestro rotador de banners, para lo cual debemos incluir sólo una vez al archivo que contendrá el o los banners y luego invocar la función «escribeBanner()» a la cual le pasaremos un parametro (en este caso en particualr 1 u 2) el cual filtrará entre las distintas ubicaciones de los banners.

<?php
include ("banner.php");
echo "Banner ubicacion 1";
echo escribeBanner(1);
echo "<hr>";
echo "Banner ubicacion 2";
echo escribeBanner(2);
?>

Bueno, honestamente no lo he probado, solo lo desarrolle a la espera de que mi amigo lo pruebe y de haber algún problema seguramente seré avisado por éste mismo medio.
Espero les sirva y que lo disfruten.
///
Ya lo probe, si quieren ver el resultado Ejemplo de Rotador de banners con php