2016-09-28 3 views
-1

Je travaille sur un HitCounter pour mon site web. Je veux ajouter quelques statistiques mensuelles. Sur mon « info.php » Je peux accéder à toutes les variables pertinentes, comme:fonction pour enregistrer les variables mensuelles à un fichier texte

$totalhits, $visits, $botcount 

Maintenant, je veux ajouter une fonction qui stocke ces variables à un txt fichier, lorsqu'un nouveau mois commence. Aussi, je voudrais réinitialiser le contenu à partir des fichiers .txt qui contiennent mes Hits, IP et d'autres choses.

Peu importe si la fonction est démarrée le 1er, le 2ème ou la première semaine, alors il est normal que le script soit démarré manuellement en accédant à info.php.

Je suis assez nouveau pour php, mais je pense à certains « if/else » -fonction qui vérifie le mois en cours et s'il y a déjà un fichier texte, par exemple '9-16.txt' alors la fonction devrait casser. S'il n'y a pas de tel fichier, il devrait en créer un et y stocker les variables.

Modifier: Celui-ci a fonctionné pour moi. La fonction archive() a dû être mis à la fin de mon « info.php », parce que je travaillais avec la sortie dans le instruction if: Donc le script vérifie s'il y a un fichier avec le « mois » dans le nom - sinon, il en crée un. S'il y en a déjà un, il revient.

<?php 
    function archive($a, $b, $c) 
    { 
    #format 'mm-yy' 
    $datename = date('m-Y'); 
     if (file_exists('archiv/'.$datename.'.txt')) { 
      return; 
     } else { 
      $file = fopen('archiv/'.$datename.'.txt', 'w'); 
      fwrite($file, $a); 
      fwrite($file, $b); 
      fwrite($file, $c); 
     } 
    } 
?> 
+1

Cela se lit comme une liste de produit nécessite, pas une question. Quel problème avez-vous? http://stackoverflow.com/help/how-to-ask – Quentin

+1

On dirait qu'il a un problème logique. Je crois que votre solution est celle qui fonctionnera (une fonction if/esle qui vérifie le mois en cours et s'il y a déjà un fichier texte ....) Faites une lecture sur la [fonction Date] (http: // php .net/manuel/fr/function.date.php) et ont une lecture sur [comment le travail fopen/fwrite] (http://php.net/manual/en/function.fwrite.php) – IsThisJavascript

+0

Merci pour vous réponses. Je vais vérifier vos liens. @Quentin: Vous avez raison. Je n'ai pas fait exprès. Je vous remercie! – rfaenger

Répondre

0

Celui-ci a fonctionné pour moi. Donc le script vérifie s'il y a un fichier avec le "mois" dans le nom - sinon, il en crée un. S'il y en a déjà un, il revient.

<?php 
function archive($a, $b, $c) 
{ 
#format 'mm-yy' 
$datename = date('m-Y'); 
    if (file_exists('archiv/'.$datename.'.txt')) { 
     return; 
    } else { 
     $file = fopen('archiv/'.$datename.'.txt', 'w'); 
     fwrite($file, $a); 
     fwrite($file, $b); 
     fwrite($file, $c); 
    } 
} 
?>