2009-06-15 10 views
0
$dirname1 = '../counters'; 
$dirN = '../uploads'; 
$extens = ".txt"; 
$fh = fopen(".$dirname1/$filename.$extens", "w"); 



if(fopen(".$dirN/$filename.", "r")) { 
    $count_my_page = (".$dirname1/$filename.$extens"); 
    $hits = file($count_my_page); 
    $hits[0] ++; 
    $fp = fopen($count_my_page , "w"); 
    fputs($fp , "$hits[0]"); 
    fclose($fp); 
    echo $hits[0]; 
} 

jedes Mal, wenn ich die Datei öffnen, sollte die Zählung aktualisiert werden .... aber es geschieht nur zum ersten Mal .....Erhöhung der Zählung auf lesen

Antwort

0

Wie zählen Sie die $ bedeuten count_my_page var? Es wird innerhalb des if-Bereichs deklariert, so dass jede Schleife als neue erstellt wird. versuchen Sie es außerhalb zu erklären.

+0

$ count_my_page ist ein Dateiname, ist es eine erste Zeile innerhalb if-Anweisung. – SilentGhost

0

Ist das alles in der gleichen Datei? Wenn dies der Fall ist, wird Ihr erster fopen mit "w" -Modus die Datei abschneiden, bevor Sie sie lesen.

+0

liest er es mit Datei zuerst – SilentGhost

+0

Ich meine die fopen() auf Zeile 4. Es scheint vor jedem Lesen zu sein? –

1

denke, es könnte mit dem Inkrementoperator (++) zu tun, versuchen Sie dies:

$hits = file($count_my_page); 
$nHits = ((int) $hits[0]) + 1; 
$fp = fopen($count_my_page , "w"); 
fputs($fp , $nHits . ""); 
fclose($fp); 
echo $nHits; 
+0

Dies funktioniert, aber während der Aktualisierung der Seite .... nicht beim Klicken oder Lesen der Datei ..... – Kevin

+0

@THEband - ich verstehe nicht, können Sie bitte etwas näher darauf eingehen? – karim79

+0

Wenn ich die Seite aktualisiere, auf der sich der Link befindet, wird die Anzahl erhöht ... nicht beim Lesen der Datei. – Kevin

Verwandte Themen