Simple Bannerrotation benötigt

Apache, Lighttpd, nginx, Cherokee
lambras
Posts: 90
Joined: 2002-05-29 16:35
Location: Frankfurt am Main

Simple Bannerrotation benötigt

Post by lambras »

Moin,

ich brauche ein simples Programm/Script zum Rotieren von Bannern.

Ich habe momentan (genauer: seit ein paar Jahren) phpadsnew laufen, allerdings ist das für meine Zwecke eigentlich der Overkill. Ich möchte einfach verschiedene, fast immer per iframe geholte (ansonten img-tag mit Link) Banner an einer bestimmten Stelle in html-Files rotieren lassen.

Zugrifsstatistiken in irgendeiner Form brauche ich nicht.
Neue Banner werden in unregelmäßigen Abständen eingefügt, ältere rausgenommen, das übliche halt. Am liebsten wäre es mir, wenn das Tool gar keine Datenbank bräuchte, da meine mysql momentan mit erheblicher Last zu kämpfen hat.

Kennt da jemand eine OpenSource-Lösung (PHP?) für?
oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Simple Bannerrotation benötigt

Post by oxygen »

Das sollte sich in ein paar Zeilen php lösen lassen.
etwa ala (einfach runtergeschrieben, sprich ungetestet):

Code: Select all

<?php 
// Pfad in dem sich die Banner befinden
$path = "./banner/";

//Verzeichnis auslesen
if($dir=opendir($path))
{
 while($file=readdir($dir))
 {
  if (!is_dir($file) && $file != "." && $file != "..")
  {
   $banner_array[]=$file;
  }
 }

// Zufällig Banner auswählen
$banner_id = rand ( 0 , count($banner_array) ) ;

// Banner ausgeben
header('Content-type: image/jpg');
header('Cache-Control: no-store, no-cache');
readfile('$path.$banner_array[$banner_id]');

?>
lambras
Posts: 90
Joined: 2002-05-29 16:35
Location: Frankfurt am Main

Re: Simple Bannerrotation benötigt

Post by lambras »

Vielen Dank für deine Mühe, aber so suchst du ja einfach nur ein zufälliges jpeg aus und lässt es anzeigen. Da gehört ja jeweils noch eine entsprechende Verlinkung dazu. Zudem liegen mir die wenigsten Banner lokal vor, die meisten kommen extern von einem anderen Webserver, ihr kompletter code wird über einen iframe eingebunden (Amazon).

Es müsste also im Endeffekt über eine Anzahl von Codezeilen randomisiert werden.