mAu
Erfahrenes Mitglied
Ich hab jetzt die Ausgabe nicht direkt gemacht (also header('Content-Type: image/png')), sondern das Bild gespeichert und dann mit echo() ausgegeben, dann funktionierts auch... Im Folgenden mal der Code:
PHP:
<?php
ob_start(); # Ausgabepuffer aktivieren
error_reporting(E_ALL); # Alle Meldungen anzeigen
$filename = 'counter.txt'; # Counterdatei
# Wenn Datei nicht existiert, neu anlegen und Counterstand auf 0 setzen
if(!file_exists($filename)){
$fp = fopen($filename, 'w+');
$i = 0; }
# Datei existiert, also Counterstand auslesen
else{
$fp = fopen($filename, 'r');
$i = fread($fp, filesize($filename)); }
fclose($fp); # Datei schließen
$i += 1; # Counterstand um eins erhöhen
#Bild erstellen
$cIMG = imageCreate (500, 20);
$white = imageColorAllocate ($cIMG, 0, 0, 0);
$green = imageColorAllocate ($cIMG, 50,148,0);
imageColorTransparent($cIMG,$white);
imageFilledRectangle($cIMG,20,20,280,130,$white);
imageString ($cIMG, 5, 2, 2, 'Diese Seite wurde schon '.$i.' mal aufgerufen!', $green);
imagePNG($cIMG, 'counter.png');
echo '<img src="counter.png" />';
$fp = fopen($filename , 'w'); # Datei zum schreiben öffnen und Inhalt löschen
flock($fp, LOCK_EX);
fwrite($fp, $i); # Neuen Counterstand eintragen
flock($fp, LOCK_UN);
fclose($fp); # Datei schließen
ob_end_flush(); # Ausgabepuffer an Browser senden
?>
Zuletzt bearbeitet: