Lutz Näther mit Webseitentipps

eine einfache Bannerrotation in PHP

Bannerrotation

Eigentlich ist diese Rotation nicht nur für Banner geeignet sondern mit ein paar kleinen Änderungen auch für Texte.

Zum Erläutern der Funktion macht es jedoch Sinn, sich auf eine Rotation zu beschränken und deshalb eben Bannerrotation.

Was benötigst Du dazu, vor allem erst einmal viele Bilder einer Größe - am besten Banner in den Abmessungen 728 mal 90 Pixel (Breite mal Höhe). Diese sollten sich alle in einem Ordner befinden - hier zu Erläuterungszwecken im Ordner "scripte" welcher sich im Ordner "privates" als Unterverzeichnis befindet.

Der Dateityp (JPEG, GIF, PNG) spielt dabei keine Rolle - die Dateiendung muss jedoch kleingeschrieben sein oder Du musst die großgeschriebenen Dateitypen hinzufügen.

Das Script selbst befindet sich im Ordner "scripte" und nennt sich "rotation.php".
Hier das Script mit Erläuterungen:
<?php
// --- Array für das Ablegen der gefundenen Banner anlegen ---
$rotation = array();
// --- Mit opendir wir das Verzeichnis für Banner geöffnet ---
// --- Öffnen zu Testzwecken ---
$handle = opendir ('../banner/');
// --- Öffnen von der Webseite aus ---
$handle = opendir ('privates/banner/');
// --- mit readdir werden Dateiname gelesen und ungeordnet zurückgegeben ---
// --- Die Schleife (while) dient dem sortierten auslesen der Reihe nach (Datei für Datei) ---
while (false !== ($file = readdir ($handle)))
  {
    // --- Ausschließen von Dateien mit nur '.' und '..' so wie der index-Dateien ---
    if($file == '.')
      { }
    elseif($file == '..')
      { }
    elseif($file == 'index.php' OR $file == 'index.html' OR $file == 'index.htm' OR $file == 'index.xhtml')
      { }
    else
      {
        // --- Datei in Name ($datei) und Typ ($typ) aufteilen (splitten) ---
        list($datei, $typ) = split('[.]', $file);
        // --- nur diese Dateitypen auflisten ---
        if($typ == 'jpg' OR $typ == 'gif' OR $typ == 'png')
          {
            // --- Dateien ins array schreiben ---
            array_push($rotation,$file);
          }
      }
  }
// --- opendir wird mit closedir geschlossen ---
closedir($handle);
// --- Zur Kontrolle einmal diese Ausgabe ---
print_r($rotation);
// --- Wenn erfolgreich - print_r wieder sperren (//print_r ..) und weiter ---

// --- Mit srand einen internen Startwert für den Zufallsgenerator festlegen ---
srand ((float) microtime() * 10000000);
// --- mit array_rand einen (oder mehrere) zufällige(n) Wert festlegen ---
$banner_suche = array_rand($rotation, 2); // --> ($rotation, 2) sind zwei Werte
// --- Werte in bestimmte Variabe zurück schreiben ---
$banner01 = $rotation[$banner_suche[0]];
// --- bei weiteren dann erweitern ---
$banner02 = $rotation[$banner_suche[1]];
// --- Testausgabe in Textform (sperren wenn nicht mehr benötigt) ---
echo "Name Banner 1: $banner01<br>\n";
echo "Name Banner 2: $banner02<br>\n";
?>

Soviel zum Script - was nicht gerade groß ist. Eigebunden wird das Script dann in den HEAD-Bereich Der Seite selbst wie folgt:
<head>
<?php @include_once "privates/scripte/rotation.php"; ?>
</head>
Das Banner im BODY-Bereich änderst Du von
<img src="privates/allgemeines/banner.jpg" border="0" width="728" height="90" alt="Banner zur Homepage">
in
<img src="privates/banner/<?php echo "$banner01"; ?>" border="0" width="728" height="90" alt="Bannerrotation zur Homepage">

Wie schon am Anfang bemerkt - dieses Script kannst Du auch sehr leicht für andere Dinge verwenden um zum Beispiel wechselnde Texte anzuzeigen.

Viel Spaß mit diesem Script wünsche ich Dir schon jetzt.

Auf der nächsten Seite wird es dann umfangreicher - hier erstellen wir eine Kontaktseite mit E-Mail-Versand.



Google