2017-04-06 1 views
0

J'essaie d'incrémenter un compteur dans un fichier texte multiple lorsqu'un utilisateur visite ma page, mais le code, je travaille ne fonctionne pas ci-dessous est le codeincrémenter compteur fichier dans plusieurs textes

$files = glob("counters/visit/*.txt"); 


foreach($files as $file) { 
    $content = file_get_contents($file); 


    if(!isset($_SESSION['hasVisited'])){ 
     $_SESSION['hasVisited']="yes"; 
     $content++; 
     $f = fopen($files, "w"); 
     fwrite($f, $content); 
     fclose($f); 
    } 
} 
+0

Le mode "w" est pour l'écriture comme vous l'avez utilisé mais il écrase à chaque fois, donc vous devriez utiliser "a" pour ajouter –

+0

Vous donnez quelques erreurs? – valbrux

+0

pas d'erreur mais pas d'incrémentation @valbrux –

Répondre

1

assurez-vous que $content est un entier en procédant comme suit:

$content = intval(file_get_contents($file)); 

Ensuite, vous utilisez:

$f = fopen($files, "w");

Au lieu de:

$f = fopen($file, "w");

fopen ne peut pas accepter un tableau en tant que paramètre

également comme mentionné par @alanlittle, si vous voulez que tous vos fichiers à incrémenter, vous devriez penser à la moment où vous définissez $_SESSION['hasVisited']="yes"; et le mettre à la fin de la boucle.

+0

Aussi, seul le premier fichier sera mis à jour, puisque vous avez réglé '$ _SESSION ['hasVisited']' – alanlittle

+0

Modifié '$ files 'à' $ file' mais il n'augmente toujours pas @Nirnae –

+0

Aussi quel est le meilleur moyen de mettre à jour tous les fichiers depuis '$ _SESSION ['hasVisited'] =" yes ";' est le critère à vérifier –