Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Lösungen für den Alltag  Teil von  Online-Besucherzähler
Letztes Update: 04.09.2007 20:49:50

Navigation

Seite Startseite
Seite Aktuelles
Seite Seite News*
Seite Seite Pressemitteilungen*
Seite SELFPHP
Seite Seite Über SELFPHP
Seite Seite Werbung
Seite Seite Kontakt
Seite Seite Unsere Banner
Seite Seite Impressum
Seite Qozido
Seite Seite Diving Edition
Seite Seite Snorkeling Edition
Seite SELFPHP Dokumentation
Seite Seite PHP-Skripte
Seite Seite PHP Befehlsreferenz
Seite Seite PHP 5 Praxisbuch
Seite Seite PHP Code Snippets
Seite Seite SELFPHP in Buchform
Seite Anbieterverzeichnis
Seite Seite Globale Branchen
Seite Seite Webhosting/Server
Seite Services
Seite Seite Forum*
Seite Seite RSS-Feeds*
Seite Seite Downloads*
Seite Seite Gratis-Video-Lektionen*
Seite Seite SELFPHP auf Heft-CD*
Seite Seite Newsletter*
Seite Internet Security
 sponsored by  
Seite Stellenangebote*
Sedo - Bei uns wird PHP großgeschrieben
Seite Premium-Partner   
Webhosting/Serverlösungen
Seite Produktempfehlung   
Seite Seite SteadyBackup

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  
 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 100.000 Beiträgen finden Sie sicher die passende Antwort!*  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname: 
Name:
E-Mail:
 




 

Grafikcounter




Nachdem Sie nun den Textcounter kennengelernt haben, wäre es sicher interessant, eine grafikbasierte Lösung zu erstellen. Das vorhandene Skript des Textcounters muss dafür lediglich um einige Codezeilen ergänzt werden.

Das erforderliche Skript zur Umsetzung des Counters stellt sich wie folgt dar:

<?php

// Grafik Counter v1.0
// Für die korrekte Funktionsweise des Counters ist darauf zu
// achten, dass die entsprechenden Schreibrechte auf dem
// Webserver gesetzt sind.

// Counterdateiname
$datei="counter.txt";

// Anzahl der führenden Nullen
$stellen = 5;

// Festlegen der Bild-Dimensionen
$breite="15";
$hoehe="19";

if(file_exists($datei)){
  // Falls die Datei existiert, wird sie ausgelesen und
  // der dort enthaltene Wert um eins erhöht.
  $fp=fopen($datei,"r+");
  $zahl=fgets($fp,$stellen);
  $zahl++;
  rewind($fp);
  flock($fp,2);
  fputs($fp,$zahl,$stellen);
  flock($fp,3);
  fclose($fp);
}else{
  // Die Datei counter.txt existiert nicht, sie wird
  // neu angelegt und mit dem Wert 1 gefüllt.
  $fp=fopen($datei,"w");
  $zahl="1";
  fputs($fp,$zahl,$stellen);
  fclose($fp);
}

// Diese Funktion sorgt für die Formatierung
// in diesem Fall für die führenden Nullen
$zahl=sprintf("%0".$stellen."d",$zahl);

// Hier wird der Zähler aus Bildern zusammengesetzt
for($i=0;$i<$stellen;$i++){
  $bild_counter=$bild_counter . "<img src=bilder/" . substr($zahl,$i,1) . ".gif align=absmiddle width=$breite height=$hoehe>";
}

?>

Für die grafische Lösung wurden lediglich die beiden Variablen $breite und $hoehe hinzugefügt, welche die Bilddimensionen festlegen. Die einzelnen Bilder, aus denen sich der Counter zusammensetzt, werden mithilfe der for-Schleife festgelegt. Dabei ist darauf zu achten, dass die einzelnen Grafiken von 0.gif bis 9.gif im angegebenen Verzeichnis bilder vorliegen müssen.

Nun betrachten Sie die Codezeile innerhalb der for-Schleife etwas genauer. Die Variable $bild_counter, welche immer an sich selbst angehängt wird, erzeugt mithilfe der for-Schleife die benötigten <img>-Tags, die auf die entsprechenden Stellen der Zahl verweisen. Ist die erste Stelle beispielsweise eine Zwei, dann lautet der korrekte Hyperlink:

<img src=bilder/2.gif align=absmiddle width=15 height=19>

Um den Wert der Stelle und damit des Namens der Bilddatei zu ermitteln, die die entsprechende Ziffer enthält, wird die Funktion substr() verwendet. Diese sucht aus einer Zeichenkette ein oder mehrere Zeichen heraus, je nachdem, welche Parameter an die Funktion übergeben wurden. Der erste Parameter enthält die zu untersuchende Zeichenkette ($zahl). Der zweite Parameter gibt die Position innerhalb der Zeichenkette an, an der die Funktion ansetzen soll ($i), und legt damit auch den Startwert fest. Der dritte Parameter legt fest, wie viele Zeichen ab dem Startwert zurückgegeben werden sollen (1). Der Startwert muss nacheinander die Werte 0 bis $stellen durchlaufen, um sämtliche Stellen von $zahl zu untersuchen.

Natürlich können Sie auch JPEG-Bilder verwenden, hierzu müssen Sie lediglich die Codezeile innerhalb der for-Schleife wie folgt anpassen:

$bild_counter=$bild_counter . "<img src=bilder/" . substr($zahl,$i,1) . ".jpg align=absmiddle width=$breite height=$hoehe>";

Auch in diesem Fall empfehle ich Ihnen, das Skript in eine separate Datei abzuspeichern, wie z. B. grafikcounter.php. Der Aufruf des Counters kann anschließend aus jedem beliebigen PHP-Skript Ihrer Website erfolgen, und zwar wie folgt:


<?php

include("grafikcounter.php");
echo $bild_counter;

?>




Bild 5.3: Der formatierte Besucherzähler (Grafikversion) im Einsatz


 




 sponsored by

Sedo - Bei uns wird PHP großgeschrieben


VERIO - An NTT Communications Company


HighText iBusiness


Webspace-Verkauf.de


video2brain




 Premium-Partner
 Webhosting/Serverlösungen

BPI-Systeme


Premium-Partner Pixel X


Premium-Partner First Colo


Premium-Partner dogado Internet




Qozido


© 2001-2008 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt