Hallo
Ich habe ein Problem:
Ich wollte ein kleines Statistik - Script schreiben, welches den Seitentitel einer Internetseite und die Anzahl der Zugriffe in eine Datei schreibt.
Beim nächsten Aufruf soll die Zugriffszahl in der richtigen Zeile erhöht werden und wieder gespeichert werden.
Soweit funktioniert das ganze ja auch.
Aber wenn das Script auf einer Seite ausgeführt wird, deren Seitentitel noch nicht in der Datei steht, soll eine neue Zeile mit dem neuen Seitentitel und einer null angefügt werden.
Dabei kommen allerdings die schlimmsten Ausdrucke in der Datei zustande.
Nach dem 3. Aufruf stimmt dann alles, aber vorher stehen 2 Zeilen Müll in der Datei.
Kann mir bitte irgendwer helfen?
Hier jetzt das Script:
Ich habe ein Problem:
Ich wollte ein kleines Statistik - Script schreiben, welches den Seitentitel einer Internetseite und die Anzahl der Zugriffe in eine Datei schreibt.
Beim nächsten Aufruf soll die Zugriffszahl in der richtigen Zeile erhöht werden und wieder gespeichert werden.
Soweit funktioniert das ganze ja auch.
Aber wenn das Script auf einer Seite ausgeführt wird, deren Seitentitel noch nicht in der Datei steht, soll eine neue Zeile mit dem neuen Seitentitel und einer null angefügt werden.
Dabei kommen allerdings die schlimmsten Ausdrucke in der Datei zustande.
Nach dem 3. Aufruf stimmt dann alles, aber vorher stehen 2 Zeilen Müll in der Datei.
Kann mir bitte irgendwer helfen?
Hier jetzt das Script:
PHP-Code:
<?php
$fn = "test.csv";
$stri = $titel;
$erg = 0;
$z = 0;
$s = 0;
$x = 0;
$y = 0;
if (file_exists($fn))
{
//Datei auslesen
$inhaltdat = file($fn);
// Wert und Position suchen
for($x=0;$x<count($inhaltdat);$x++)
{
$inh = explode("#",$inhaltdat[$x]);
for($y=0;$y<count($inh);$y++)
{
if ($inh[$y] == $stri)
{
$z = $x;
$s = $y;
$erg = 1;
}
}
}
if ($erg == 0)
{
$nl = chr(13) . chr(10);
$string = "$titel#0$nl";
array_push($inhaltdat,$string);
}
// Wert im Array aendern
$inh[1] = $inh[1] + 1 ;
$inhaltdat[$z] = implode("#",$inh);
// Datei loeschen
unlink($fn);
// Werte in Datei schreiben
$fp = fopen($fn,"w");
flock($fp,2);
for($x=0;$x<count($inhaltdat);$x++)
{
fputs($fp,$inhaltdat[$x]);
}
flock($fp,3);
}
?>
Kommentar