Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Counter - der Besucherzähler
Letztes Update: 16.08.2005 17:53:45


Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

 
* 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 79.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 entworfen haben, wäre es sicher interessant zu erfahren, wie sich eine auf Grafik basierte Lösung darstellt. Hierbei werden Sie feststellen, dass Sie das vorhandene Skript des Textcounter lediglich um einige Codezeilen anpassen müssen.

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, daß 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 dann 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>";
}

?>



Wie Sie selbst feststellen werden wurden für die grafische Lösung lediglich die Beiden Variablen $breite und $hohe hinzugefügt, welche die Bild-Dimension festlegen. Die einzelnen Bilder aus denen sich der Counter zusammensetzt werden mit Hilfe der for-Schleife festgelegt. Hierbei ist darauf zu achten, dass die einzelnen Grafiken von 0.gif bis 9.gif im angegebenen Verzeichnis bilder vorliegen müssen.

Nun betrachten Sie sich die Codezeile innerhalb der for-Schleife etwas genauer. Die Variable $bild_counter, welche immer an sich selbst angehängt wird, erzeugt mit Hilfe der for-Schleife die benötigten <img>-Tags, die auf die Bilder für 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), dieser 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 Wert 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 empfehlen wir Ihnen, das Skript in eine seperate Datei abzuspeichern, wie z.B. grafikcounter.php. Der Aufruf des Counters kann anschliessend aus jedem beliebigen PHP-Skript Ihrer Website erfolgen und zwar, wie folgt:



<?php

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

?>




 


Textcounter
 




 sponsored by

Host Europe


HighText iBusiness


Host Europe




© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de