Concaténation de fichier texte

Résolu
cs_chapata Messages postés 214 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 9 avril 2010 - 24 oct. 2006 à 13:19
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 24 oct. 2006 à 16:12
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

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 oct. 2006 à 14:37
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 ()
3
cs_chapata Messages postés 214 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 9 avril 2010 5
24 oct. 2006 à 15:24
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
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 oct. 2006 à 16:12
T'aurais aussi pu utiliser file () , plus simple peut-être dans ce cas. Mais bon tant que ça marche ;-)
0
Rejoignez-nous