Kleines Problem

Sorry, dass ich mein Problem im Titel nicht genauer beschreiben kann )-;

Ich hab mir mal eine kleine Spielerei in PHP programmiert. Es handelt sich um ein dynamisch generiertes Bild, das anzeigt, wie oft meine Beiträge in Foren schon aufgerufen wurden. Zusätzlich speicher das script die jeweilige ip zum passenden aufruf ab. Nun habe ich das Problem, dass in meinem „Logfile“ ab und zu lücken auftauchen. Woran liegt das?
Hier mein Quellcode:

<?php $anzahl;
$file = fopen("zahl.dat","r"); if($file) { $anzahl = fgets($file,10); $anzahl = $anzahl; fclose($file); } $str = "Seit dem 29.5.07 gab es $anzahl Aufrufe meiner Posts"; $width = strlen($str); $width = $width \* 12; $height = 20; $font = 5; $image = imageCreate($width,$height); $yellow = imageColorAllocate($image,0,0,0); $orange = imageColorAllocate($image,255,100,0); $str\_x = ($width - (imageFontWidth($font) \* strLen($str))) / 2; $str\_y = ($height - imageFontHeight($font)) / 2; imageString($image,$font,$str\_x,$str\_y,$str,$orange); header('Content-Type: image/png'); imagePng($image); //imagePng($image,"image.png"); imageDestroy($image); $file = fopen("zahl.dat","w"); if($file) { $anzahl = $anzahl + 1; fputs($file,$anzahl); fclose($file); } ?\> ok.. ich gebs ja zu. An der Professionalität lässt sich noch arbeiten xD

Sorry, dass ich mein Problem im Titel nicht genauer
beschreiben kann )-;

Ich hab mir mal eine kleine Spielerei in PHP programmiert. Es
handelt sich um ein dynamisch generiertes Bild, das anzeigt,
wie oft meine Beiträge in Foren schon aufgerufen wurden.
Zusätzlich speicher das script die jeweilige ip zum passenden
aufruf ab. Nun habe ich das Problem, dass in meinem „Logfile“
ab und zu lücken auftauchen. Woran liegt das?
Hier mein Quellcode:

-gelöscht-
ok… ich gebs ja zu. An der Professionalität lässt sich noch
arbeiten xD

Hallo Blibbi,

woran stellst Du fest, dass eine Lücke hast? Es wird doch nur eine Zahl in die Datei reingeschrieben. Aber generell sollte zwischen Zähler auslesen und schreiben möglichst wenig Zeit vergehen.

MfG Georg V.

sorry… irgendwie hab ich den Falschen Quellcode kopiert. Jetzt spinnt das Teil sogar noch schlimmer…
Der Inhalt meines Logfiles:
105: 84.154.177.224----------106: 84.154.177.224----------107: 84.154.177.224----------108: 89.14.96.31----------109: 89.14.96.31----------110: 84.154.182.180----------111: 84.154.182.180----------
Eigentlich ist der Zähler schon bei 180 und da, wo Zahlen Fehlen sind so schöne Kästchen.

<?php $anzahl;
$file = fopen("zahl.dat","r"); if($file) { $anzahl = fgets($file,10); $anzahl = $anzahl; fclose($file); } $str = "Seit dem 29.5.07 gab es $anzahl Aufrufe meiner Posts"; $width = strlen($str); $width = $width \* 12; $height = 20; $font = 5; $image = imageCreate($width,$height); $yellow = imageColorAllocate($image,0,0,0); $orange = imageColorAllocate($image,255,100,0); $str\_x = ($width - (imageFontWidth($font) \* strLen($str))) / 2; $str\_y = ($height - imageFontHeight($font)) / 2; imageString($image,$font,$str\_x,$str\_y,$str,$orange); header('Content-Type: image/png'); imagePng($image); //imagePng($image,"image.png"); imageDestroy($image); $ipfile = fopen("ipfile.dat","a"); if($ipfile) { fputs($ipfile,$anzahl ); fputs($ipfile,": " ); fputs($ipfile,$\_SERVER['REMOTE\_ADDR']); fputs($ipfile,"----------" ); fclose($ipfile); } $file = fopen("zahl.dat","w"); if($file) { $anzahl = $anzahl + 1; fputs($file,$anzahl); fclose($file); } ?\>

Hallo Blibbi,

sehe ich das richtig, dass Du die Anzahl in der Datei „zahl.dat“ führst und die Anzahl und IP-Adressen (ohne Zeit und Zeilenumbruch) in der Datei „ipfile.dat“? Hast Du jetzt ein Lücke in der Datei ipfile.dat bzgl Anzahl oder ist nur der Wert unterschiedlich?

Wäre nett, wenn Du noch etwas deutlicher werden könntest.

MfG Georg V.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Genau.
Die Zahl wird in der zahl.dat abgespeichert und die IP in der ipfile.dat

Was das merkwürdige ist, ist dass keine IPs mehr eingetragen wurden.
Erst als ich den Ordner umbenannt hab gings wieder. Bis jetzt sind auch keine Lücken drin, sind aber auch erst 4 einträge.

Die Lücken machen sich dadurch bemerkbar, dass anstatt der IP (x.x.x.x) nur Leerzeichen stehen.