Zunächst benötigt man ein Array in dem sämtliche Bannerinformationen stehen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
/**
 * Erstelle ein Array mit den Bannerinformationen
 * ['image']        = URL zum Bannerbild
 * ['title']        = Titel der zu vrlinkenden Website
 * ['url']          = URL der zu verlinkenden Website
 * ['newwindow']    = In neuem fenster öffnen (Werte: true / false)
 * ['width']        = Bannerbreite (optional)
 * ['height']       = Bannerhöhe (optional)
 */


$banner = array();

$banner['1']['image']       = './bilder/bild.jpg';
$banner['1']['title']       = 'Erstes Bild!';
$banner['1']['url']         = 'http://localhost/';
$banner['1']['newwindow']   = true;
$banner['1']['width']       = '200';
$banner['1']['height']      = '200';

$banner['2']['image']       = './bilder/anderesbild.jpg';
$banner['2']['title']       = 'Anderes Bild';
$banner['2']['url']         = 'http://localhost/bla/';
$banner['2']['newwindow']   = false;
$banner['2']['width']       = '';
$banner['2']['height']      = '';

$banner['3']['image']       = './bilder/ganzanderesbild.jpg';
$banner['3']['title']       = 'Noch ein anderes Bild';
$banner['3']['url']         = 'http://localhost/bla/bla/';
$banner['3']['newwindow']   = true;
$banner['3']['width']       = '450';
$banner['3']['height']      = '';

if(empty($banner)) {
  die("Keine Banner definiert.");
}
?>

Damit sind drei verschiedene Banner definiert.
An dieser Stelle kann man das auch durch eine mySQL Datenbank erledigen lassen, was sinnvoller ist, wenn es wesentlich mehr Banner sind.

Nun erstellt man sich einen kleinen Zufallsgenerator, welcher genau weiß, wie viele Banner definiert sind, und da einen per Zufall auswählt.

1
2
3
4
// Wie viele Banner sind nun vorhanden?
$anzahl = count($banner);
// erstelle eine Zufallszahl, die Zahlen von 1 bis zur Anzahl der Banner umfasst
$zufall = rand(1, $anzahl);

Jetzt wird nur noch eine Schleife benötigt, die den per Zufall ausgewählten Banner anzeigt.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
foreach ($banner as $key => $value) {
    // Wenn die Zufallszahl gleich dem $key ist, dann ist der Banner gerade zur Ausgabe ausgewählt
    if ($key == $zufall) {
        // Wenn ['image'] und ['url'] nicht leer sind, gib den Banner aus
        if (!empty($value['image']) AND !empty($value['url'])) {
            // vorher überprüfen wir die Einstellungen:
            // soll es in einem neuen Fenster geöffnet werden?
            if ($value['newwindow'] === true) {
                // wenn ja, dann heißt der Zusatz target="_blank"
                $value['window'] = 'target="_blank"';
            } else {
                // wenn nicht, ist der Zusatz leer
                $value['window'] = '';
            }

            // das Gleiche Überprüfen wir mit den Angaben für Höhe und Breite und erzeugen die dementsprechenden Zusätze
            if (!empty($value['width']) AND !empty($value['height'])) {
                $value['style'] = ' width:' . $value['width'] . '; height:' . $value['height'] . ';';
            } elseif (!empty($value['width']) AND empty($value['height'])) {
                $value['style'] = ' width:' . $value['width'] . ';';
            } elseif (empty($value['width']) AND !empty($value['height'])) {
                $value['style'] = ' height:' . $value['height'] . ';';
            } else {
                $value['style'] = '';
            }

            // und schließlich: die Ausgabe des Banners mit allen Optionen
            echo '<a href="' . $value['url'] . '" ' . $value['window'] . ' ' . $value['add'] . '><img src="' . $value['image'] . '" title="' . $value['title'] . '" alt="' . $value['title'] . '" style="border: none;' . $value['style'] . '" /></a>';
        } else {
            // Wenn ['image'] und ['url'] leer sind, kann der Banner nicht ausgegeben werden
            echo "Banner {$key} konnte nicht angezeigt werden: Kein Pfad zu einem Bild vorhanden.";
        }
    }
}

Viel Spaß

Artikel / Seite weiterempfehlen

Schreibe einen Kommentar

Ihre Email-Adresse wird nicht veröffentlicht. Pflichtfelder sind durch * markiert.

Sie können folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>