Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Lösungen für den Alltag  Teil von  Online-Besucherzähler
Professional CronJob-Service

Suche

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP?
In über 130.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 
 
Grafikcounter: Seite 1

SELFPHP ist Shopware Solution Partner
Shopware ist ein vielfach ausgezeichnetes Onlineshop-System der shopware AG, das auf PHP. Zend Framework und SQL basiert.
SELFPHP unterstützt Sie als Shopware Solution Partner bei der Konzeption, Programmierung und Realisierung Ihres Onlineshops und passt Shopware bei Bedarf an Ihre Unternehmensbedürfnisse an. Weitere Informationen



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:



Online-Besucherzähler
 




:: Premium-Partner ::

Webhosting/Serverlösungen

LeaseWeb Germany GmbH weitere Premium-Partner
 

:: SELFPHP Sponsor ::

DM Solutions e.K. weitere Sponsoren
 


:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Webhosting/Serverlösungen

Suchen Sie den für Sie passenden IT-Dienstleister für Ihr Webhosting-Paket oder Ihre Serverlösung?

Sie sind nur ein paar Klicks davon entfernt!


 

Ausgewählter Tipp im Bereich PHP-Skripte


Spezielle Filtermechanismen für Dateien und Verzeichnisse

Weitere interessante Beispiele aus dem SELFPHP Kochbuch finden Sie im Bereich PHP-Skripte
 

SELFPHP Code Snippet


Einen Hexfarbwert in R-, G-, B-Anteile auflösen

Weitere interessante Code Snippets finden Sie auf SELFPHP im Bereich PHP Code Snippets
 
© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt
© 2005-2017 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de