Additionner le contenu de plusieurs fichiers

Résolu
zut69 Messages postés 355 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 - 17 juin 2007 à 00:08
zut69 Messages postés 355 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 - 18 juin 2007 à 12:58
Bonjour,

J'ai, dans mon dossier "stat", des fichiers txt sous la forme: yy-mm-compteur.txt
Ce que je souhaiterais faire, c'est créé une fonction qui me retournerais une valeur: l'addition de contenu de tous ces fichiers. A noter que ces fichiers ne contiennent que des nombres ou chiffres.

J'aurai besoin d'aide svp,
Merci bcp,

FF

PS: Ce serait mieux si cette fonction additionait tous les fichiers se TERMINANT par ...compteur.txt, car ce sont les seuls fichiers qui finissent comme ca et ca pourrait m'etre utile pour une autre application...

4 réponses

cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010
17 juin 2007 à 11:56
Salut,

Les fonctions qui vont être utiles

    // Récupérer les fichiers d'un dossier :
    $dir = opendir($rep);

    while ($file = readdir($dir)) {

    }

    closedir($dir);

    // Filtrage sur le nom (expression regulière) :
    if(ereg("compteur.txt$",$file)) {       // Le $ signale que ça doit se terminer par
    }
http://kysicurl.free.fr/
  // Lire un fichier :
  $fp = fopen($fichier, "r");

  $contenu = fread($fp, 1000000);

  fclose($fp);

Voilà, mais lire une doc permet de trouver tout ça soi même.
3
zut69 Messages postés 355 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 1
17 juin 2007 à 12:28
merci, mais en fait, ou je crochais c'etais la ligne du ereg que je ne savais pas comment faire, alors la je devrais me débrouiller, merci.
0
amezghal Messages postés 385 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 21 août 2015 5
17 juin 2007 à 12:40
salut
sous php 5
pas besoin d'utiliser
$dir = opendir($rep);
    while ($file = readdir($dir)) {
    }
car la fonction scandir() remplace ça
fread($fp, 1000000); =>file_get_contents()

<hr size="2" width="100%" />Au début, on essaye de trouver une solution qui marche, et puis on cherche la meilleure solution.
0
zut69 Messages postés 355 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 1
18 juin 2007 à 12:58
Bon, voici mon code qui marche, il additionne le nombre de visiteurs de chaque mois pour
afficher le nombre total:

        <?
    $rep = "stat";
    $dir = opendir($rep);
    $all_visiteurs="0";
    while ($file = readdir($dir))
    {
        if($file != ".." AND $file != "." AND ereg("compteur.txt$",$file))
        {
        $fp = fopen($file, "r");
        $contenu = fread($fp, 100);
        $visiteurs = $visiteurs + $contenu;
        fclose($fp);
        }
    }
    closedir($dir);
   
    echo $visiteurs." visiteurs";
    ?>

Merci à tous
0