Classer les éléments d'un fichier texte

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Classer les éléments d'un fichier texte

par speddy1406 » 26 juil. 2005, 08:41

j'ai essayé en changeant le nom du fichier de sortie et çà ne change rien.
Est-ce que je pourrais t'envoyer mon fichier assimile_6h et assimile_04 pour que tu puisses faire un test, si cela ne te dérange pas ?

Merci

par zeus » 25 juil. 2005, 16:21

A la limite essaye, mais je ne comprend pas pourquoi en ouvrant un fichier avec fopen et w, il reste des valeurs dedans :shock:

par speddy1406 » 25 juil. 2005, 16:18

copy("6h_auj_O3_prev.txt","assimile_6h.txt");
//copy("6h_auj_O3_prev.txt","assimile_6h.txt");
//copy("7h_auj_O3_prev.txt","assimile_7h.txt");


$a_fichier1 = file("C:\PREVAIR\CARTES\O3\assimile_6h.txt"); 
$a_fichier2 = file("C:\PREVAIR\CARTES\O3\assimile_04.txt"); 


$a_fichier_merge = array_merge($a_fichier1, $a_fichier2);

 
 
//trie selon les valeurs numériques dans l'ordre décroissant 
$a_fichier_trie = array_multisort($a_fichier_merge, SORT_NUMERIC, SORT_DESC); 
 

$fic_desc = fopen("C:\PREVAIR\CARTES\O3\assimile_04.txt", "w"); 
foreach($a_fichier_trie as $ligne) { 
  fputs($fic_dest, $ligne); 
} 

fclose($fic_dest); 
par rapport à ce programme donc il ouvre les deux fichiers, il met le contenu du fichier2 à la fin du fichier2, puis il trie ce nouveau fichier et enfin il ouvre assimile_04 afin d'y mettre le contenu du fichier trié et c'est à ce moment qu'il fait un fichier vide.
Dois-je mettre un autre nom de fichier afin de stocker le nouveau fichier trié ?

par zeus » 25 juil. 2005, 16:11

Je ne comprend pas, il te crée un fichier assimil_04.txt vide alors qu'il est plein ? :shock:

tu le stocke à quel adresse le nouveau fichier ?

par speddy1406 » 25 juil. 2005, 16:07

oui il est rempli voici un extrait de ce qu'il contient :

1.57 47.6 0
1.91 47.9 18
1.93 47.8 30
1.97 47.9 20
0.76 47.4 37
0.67 47.4 45
0.65 47.3 51
0.68 47.4 35

mais lorsque je lance le programme entier il me recré un fichier assimile_04.txt mais celui-ci est vide

par zeus » 25 juil. 2005, 15:57

Est tu sûr que le fichier2 est rempli ?

Si oui, il contient quoi ?

par speddy1406 » 25 juil. 2005, 15:38

lorsque je teste cton code il m'affiche le contenu du premier tableau et le second il met "array"

par zeus » 25 juil. 2005, 15:21

Essaye ça et dit moi ce qui se passe et ce qui est affiché
$fichier1 = "C:\PREVAIR\CARTES\O3\assimile_6h.txt"
$fichier2 = "C:\PREVAIR\CARTES\O3\assimile_04.txt"

if (file_exists($fichier1)) {
    $a_fichier1 = file($fichier1);
} else {
   print "Le fichier '".$fichier1."' n'existe pas";
   exit;
}

if (file_exists($fichier2)) {
    $a_fichier2 = file($fichier2);
} else {
   print "Le fichier '".$fichier2."' n'existe pas";
   exit;
}

print_r($a_fichier1);
print_r($a_fichier2);

par speddy1406 » 25 juil. 2005, 15:12

si je test comme çà :
$a_fichier1 = file("C:\PREVAIR\CARTES\O3\assimile_6h.txt"); 
$a_fichier2 = file("C:\PREVAIR\CARTES\O3\assimile_04.txt"); 

$a_fichier1="assimile_04.txt";
$a_fichier2="assimile_6h.txt";

if (file_exists($a_fichier1)) {
   print "Le fichier existe";
} else {
   print "Le fichier n'existe pas";
}

pas de problème il me met que mes deux fichiers existent.
Donc peux m'expliquer comment tester les url

Merci

par speddy1406 » 25 juil. 2005, 15:06

j'ai fait cela :
$a_fichier1 = file("C:\PREVAIR\CARTES\O3\assimile_6h.txt"); 
$a_fichier2 = file("C:\PREVAIR\CARTES\O3\assimile_04.txt"); 

if (file_exists($a_fichier2)) {
   print "Le fichier existe";
} else {
   print "Le fichier n'existe pas";
}
et il me met que mon fichier n'existe pas pourtant il existe dans mon repertoire

par speddy1406 » 25 juil. 2005, 14:46

pour vérifier mes fichier je fais cela :

if file_exist( "assimile_5h.txt")

if file_exist( "assimile_03.txt")

mais pour vérifier les url je fais comment ?

par zeus » 25 juil. 2005, 14:33

Je parierais sur une erreur dans l'une de ces 2 url.

Je dirais même la seconde

pourquoi ;
- pb dans le foreach qui te sert à parcourir tes tableaux
- close d'un fichier qui ne marche pas
- array_merge qui ne contient qu'un tableau

a mon avis, il faut que tu teste l'existence de tes fichiers ET/OU que tu vérifie les url

par speddy1406 » 25 juil. 2005, 14:29

ok j'ai testé ta variable pas de problème mais çà me met juste le contenu de mon premier tableau.
voici les erreurs qu'il me met

invalid argument supplied for foreach

et l'autre

fclose () : supplied argument is not a valid steam resource

par conséquent il ne met pas les valeurs du tableau 2 dans le tableau 1 et il ne me trie rien

Je bloque...

par Cyrano » 25 juil. 2005, 13:57

Pour afficher une variable de type array, par exemple une variable qui s'appellerait $tableau, l'afficher comme ceci:
<pre>
<?php
var_dump($tableau);
?>
</pre>

par speddy1406 » 25 juil. 2005, 13:55

<?PHP


$a_fichier1 = file("C:\PREVAIR\CARTES\O3\assimile_5h.txt"); 
$a_fichier2 = file("C:\PREVAIR\CARTES\O3\assimile_03.txt"); 

$a_fichier_merge = array_merge($a_fichier1, $a_fichier2); 
echo $a_fichier_merge;
//trie selon les valeurs numériques dans l'ordre décroissant 
$a_fichier_trie = array_multisort($a_fichier_merge, SORT_NUMERIC, SORT_DESC); 


//$fic_desc = fopen("fichier2", "w"); 
//foreach($a_fichier_trie as $ligne) { 
  //fputs($fic_dest, $ligne); 
//} 

//fclose($fic_dest); 
J'ai un problème avec ce programme comme vous pouvez le voir j'ai fait un echo pour voir ce qu'il mettait dans mon fichier et rien ne s'affiche à par array et j'ai vérifié mes deux fichiers existent bien. Quelqu'un a t-il une solution car la je sèche ?
Merci