[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 -
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
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
A voir également:
- [PHP]Concaténer 2 fichiers ligne par ligne
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Aller à la ligne excel - Guide
- Formulaire en ligne de meta - Guide
- Apparaitre hors ligne instagram - Guide
3 réponses
Pourquoi cherche-tu compliquer avec tes fichiers texte alors qu'avec une base de donnée tu gagnerai ton temps
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);
}