Utilisation de la fonction max

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

22 juin 2005, 13:53

Et avec ce code ?
fputs($fp,"Test d'écriture") or die("Impossible d'écrire dans le fichier");
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 92 Messages

22 juin 2005, 14:09

cette ligne fonctionne çà a bien écrit test d'écriture dans mon fichier mais pourquoi alors çà ne veut pas écrire $ligne_max ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

22 juin 2005, 14:12

Surement parce que $ligne_max est vide

essaye ça et donne moi le résultat, je vais essayer de comprendre de mon côté
fputs($fp,"debut-".$ligne_max ."-fin\n") or die("Impossible d'écrire dans le fichier");
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 92 Messages

22 juin 2005, 14:27

çà met juste debut-fin... je ne comprend vraiment pas....

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

22 juin 2005, 14:58

Essaye ce code. il devrais afficher toutes les lignes de tous tes fichiers.

Dit moi si il fait bien ça.
//Tu mets tout les noms de tes fichiers ici
$a_fichier = array(
    "moy_8h_hier_O3_prev.txt",
    "moy_9h_hier_O3_prev.txt");

//Cette variable va mémoriser le max de tous les fichiers
$max = -1;

//Cette variable contient le chemin d'acces jusqu'au répertoire qui contient les fichiers textes
$chemin = "C:\PREVAIR\CARTES\O3" ;

//Permet de parcourir les noms de fichiers
foreach($a_fichier as $moy_8h) {

    //Met le contenu du fichier désigné par $moy_8h dans fichier. une ligne par case
    $a_file = file($chemin."/".$moy_8h);

    //Permet de parcourir chque ligne du tableau
    foreach($a_file as $ligne) {
        //Découpe la ligne selon les espaces et met le résultats dans un tableau
        $a_ligne = explode(" ", $ligne);
        echo $ligne."<br>";
        
        //On teste si la valeur de la 3eme colonne est supérieure à la valeur stockée
        if ($a_ligne[2] > $max) {
            $max = $a_ligne[2];
            $ligne_max = $ligne;
        }
    }
}
$fp = fopen(REPERTOIRE_DONNEES_SORTIE_O3.$max_hier_8h.txt,"w");
fputs($fp,$ligne_max ."\r\n");
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 92 Messages

22 juin 2005, 15:23

oui ce programme affiche toutes les lignes de tous les fichiers.pas de problème çà fait ce que tu dis.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

22 juin 2005, 15:25

Et le nom du fichier contient bien le bon max ou il contient -1 ?

Il agit comme si $ligne_max était vide
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 92 Messages

22 juin 2005, 15:35

quel nom de fichier ? je ne comprend ce que tu me dis.

Eléphant du PHP | 92 Messages

22 juin 2005, 15:36

Par contre dans la ligne de commande

$fp = fopen(REPERTOIRE_DONNEES_SORTIE_O3.$max_hier_8h.txt,"w");
Je crois qu'il faut mettre le nom du fichier en "" et sans le $ sinon le fichier ne se crée pas. car si je le laisse comme tu l'as mis pas de création de fichier

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

22 juin 2005, 15:37

Dans ce code, tu gènere bien un fichier qui contient max ?
$fp = fopen("REPERTOIRE_DONNEES_SORTIE_O3".$max."_hier_8h.txt","w") or die("Impossible de créer ou d'ouvrir le fichier");
sinon, remplace
echo $ligne;
par
echo $max;
et dit moi si la valeur est toujours -1 ou si elle change
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 92 Messages

22 juin 2005, 15:40

lorsque tu m'as fait echo $ligne les valeurs qui s'affichaient n'était -1
mais j'essaie avec echo $max

Eléphant du PHP | 92 Messages

22 juin 2005, 15:42

je génère un fichier qui va contenir les valeurs max et le nom du fichier se nomme max_hier_8h.txt

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

22 juin 2005, 15:46

OK, excuse moi, je me suis planté alors dans le code que je t'ai donné

la ligne est

$fp = fopen("REPERTOIRE_DONNEES_SORTIE_O3_max_hier_8h.txt","w") or die("Impossible de créer ou d'ouvrir le fichier");
et non pas
$fp = fopen("REPERTOIRE_DONNEES_SORTIE_O3".$max."_hier_8h.txt","w") or die("Impossible de créer ou d'ouvrir le fichier");
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 92 Messages

22 juin 2005, 15:48

je viens d'essayer echo $max et cela affiche que des -1. je l'ai dans le programme au début et à la fin et il retourne à chaque fois -1

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

22 juin 2005, 15:49

Donc c'est pas un problème d'écriture dans le fichier

remplace
echo $max;
par
echo $a_ligne[2];
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer