Concaténation de fichier texte

[Résolu]
Signaler
Messages postés
214
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
-
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Hello ,
je bug ... je bug ... je bug ...
voila je cherche a créer un fichier texte, qui reprend 1 ou n fichier texte concaténé.

pas de prob sur mon HTML ... le ou je bug c'est sur ce tout peti bout de code :
/* VARIABLE POUR LA CREATION DU FICHIER TXT */
$fichier = fopen(addslashes("K:\MonFichier.txt"),"r+");
  
  /* VARIABLE POUR CHAQUE FICHIER SELECTIONNE */
  $box = $_POST['box'];
  
  /* BOUCLE POUR CHAQUE FICHIER SELECTIONNE */
  for ($i = 0; $i<count($box); $i++) {
      fputs($fichier, $box[$i]); ===> ici je voudrais mettre le contenu du fichier sélectionné
      fputs($fichier, "\n");
  }
  /* FERMETURE DU FICHIER "MonFichier.txt" */
      fclose($fichier);   

Ca fonctionne très bien, quand j'ouvre "monfichier.txt" je peut voir a chaque ligne le fichier sélectionné par les checkbox de mon formulaire.

Maintenant je cherche a mettre dans mon "fputs($fichier, $box[$i])";
cette ligne de code qui permet de rajouter tout le contenu du fichier checké : fgets ($box[$i],1024) à la place de $box[$i]

mais ca marche pas ... ou si quelqu'un peut me donner un coup de pouce pour tout récupérer d'un coup et non ligne par ligne cela serait vraiment cool.

Merci

ChaPaTa

3 réponses

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,

faut ouvrir chaque fichier dans ce cas, avec fopen(), comme tu le fais pour ton fichier dans lequel tu écris.
Ou, en php5, tu peux utiliser directement file_get_contents ()
Messages postés
214
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
4
Hello ,
/* BOUCLE POUR CHAQUE FICHIER SELECTIONNE */
for ($i = 0; $i<count($box); $i++) {
       $monLot = fopen($box[$i],"r");   
       $taille = filesize($box[$i]);
       $contenu = fread($monLot,$taille);
       fputs($monTxt, $contenu); 
}
fonctionne bien ...
merci pour ton aiguillage Malalam

ChaPaTa
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
T'aurais aussi pu utiliser file () , plus simple peut-être dans ce cas. Mais bon tant que ça marche ;-)