[PHP]Concaténer 2 fichiers ligne par ligne

Résolu
bezourox Messages postés 730 Date d'inscription   Statut Membre Dernière intervention   -  
bezourox Messages postés 730 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voila le sujet me parait clair.

J'ai un fichier "nom.txt" avec :

DUPONT
DUBOIS
BERTRAND

J'ai un fichier "prenom.txt" avec :

Jean
Charles
Maurice

Je souhaite mettre en place une fonction php qui me génère un fichier "client" avec :

DUPONT Jean
DEBOIS Charles
BERTRAND Maurice

3 réponses

  1. Steevy
     
    Pourquoi cherche-tu compliquer avec tes fichiers texte alors qu'avec une base de donnée tu gagnerai ton temps
    1
  2. bezourox Messages postés 730 Date d'inscription   Statut Membre Dernière intervention   143
     
    La solution :
    function concatenation() 
       { 
        // Ouverture du fichier en lecture [option "r"] 
          $fd = @fopen("/home/test","r"); 
            // si fopen retourne faux c'est que le fichier 
           // ne peut être ouvert en lecture 
           if (!$fd) die("Impossible d'ouvrir le fichier test"); 
            //on ouvre le fichier suite en lecture 
        $fd2 = @fopen("/home/suite","r"); 
        //on ouvre le fichier result en écriture 
        $fd3 = @fopen("/home/result", "w"); 
        // si fopen retourne faux c'est que le fichier 
        // ne peut être ouvert en lecture 
        if (!$fd2) die("Impossible d'ouvrir le fichier suite"); 
        // si fopen retourne faux c'est que le fichier 
        // ne peut être ouvert en lecture 
        if (!$fd3) die("Impossible d'ouvrir le fichier result"); 
           $i = 1; // compteur de ligne 
            //Tant qu'on est pas arrivé à la dernière ligne 
           while (!feof($fd)) { 
                        // On lit une ligne du fichier 
                       // et en tout cas au maximum 300 caractères 
                       $lignefd1 = fgets($fd, 300); 
                                            //On supprime le retour à la ligne avant concaténation 
         $lignefd1 = preg_replace('(\r\n|\n|\r|\t)',' ',$lignefd1); 
                       $lignefd2 = fgets($fd2, 300); 
                        //on concatène  
         $resultat = $lignefd1.$lignefd2; 
         //On écrit la concaténation dans le fichier result 
         fputs($fd3, $resultat); 
         // On incrémente i 
               $i++; 
        } 
         
            // On a fini, on ferme !! 
            fclose($fd); 
        fclose($fd2); 
        fclose($fd3); 
       }
    1
  3. bezourox Messages postés 730 Date d'inscription   Statut Membre Dernière intervention   143
     
    Parce que justement je ne peux pas utiliser une base de donnée
    0