2009-06-15 5 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]; 
} 

chaque fois que j'ouvre le fichier, le compte doit être mis à jour .... mais il ne se produit que pour la première fois .....augmentant le nombre de lecture

Répondre

0

Comme vous comptez dire le $ count_my_page var? Il est déclaré à l'intérieur de la portée if, donc chaque boucle est créée en tant que nouvelle. essayez de le déclarer à l'extérieur.

+0

count_my_page de $ est un nom de fichier, il est une première ligne dans l'instruction if. – SilentGhost

0

Est-ce que tout est dans le même fichier? Si c'est le cas, votre premier fopen avec le mode "w" tronquera le fichier avant de le lire.

+0

il le lit avec le premier fichier – SilentGhost

+0

Je veux dire le fopen() sur la ligne 4. Il semble être avant toute lecture? –

1

pense qu'il pourrait être à voir avec l'opérateur d'incrémentation (++), essayez ceci:

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

Cela fonctionne, mais tout en rafraîchissant la page .... pas sur le clic ou la lecture du fichier ..... – Kevin

+0

@theband - Je ne comprends pas, pourriez-vous s'il vous plaît élaborer un peu? – karim79

+0

si je rafraîchis la page où le lien est là, il augmente le nombre ... pas sur la lecture du fichier. – Kevin

Questions connexes