Code ne prends pas en compte toutes les lignes
Posté : 01 juin 2016, 11:04
Bonjour à tous!
Je dois préparer un exercice pour mon cours de programmation qui consiste à ordonner deux fichiers par ordre alphabétique. J'ai donc écrit un truc mais le problème c'est qu'il ne lit pas tous les mots de mes fichiers.
Il s'arrête à la lettre P va savoir pourquoi. Est-ce que quelqu'un pourrait m'aider svp ?
PS : je précise que j'ai utilisé des fonctions vues au cours, je sais qu'il y a des raccourcis d'écriture mais je me suis basé exclusivement sur ce que je connaissais
?>
Je dois préparer un exercice pour mon cours de programmation qui consiste à ordonner deux fichiers par ordre alphabétique. J'ai donc écrit un truc mais le problème c'est qu'il ne lit pas tous les mots de mes fichiers.
Il s'arrête à la lettre P va savoir pourquoi. Est-ce que quelqu'un pourrait m'aider svp ?
PS : je précise que j'ai utilisé des fonctions vues au cours, je sais qu'il y a des raccourcis d'écriture mais je me suis basé exclusivement sur ce que je connaissais
Code : Tout sélectionner
<?php
$readFile1 = fopen("fichierex1.txt", "r");
$readFile2 = fopen("fichierex2.txt", "r");
$newFile = fopen("fichiersortant.txt", "w");
$Mot1=fgets($readFile1);
$Mot1=trim($Mot1);
$Mot2=fgets($readFile2);
$Mot2=trim($Mot2);
$Mot1 = strtr($Mot1, 'ÁÀÂÄÃÅÇÉÈÊËÍÏÎÌÑÓÒÔÖÕÚÙÛÜÝ', 'AAAAAACEEEEEIIIINOOOOOUUUUY');
$Mot1 = strtr($Mot1, 'áàâäãåçéèêëíìîïñóòôöõúùûüýÿ', 'aaaaaaceeeeiiiinooooouuuuyy');
$Mot2 = strtr($Mot2, 'ÁÀÂÄÃÅÇÉÈÊËÍÏÎÌÑÓÒÔÖÕÚÙÛÜÝ', 'AAAAAACEEEEEIIIINOOOOOUUUUY');
$Mot2 = strtr($Mot2, 'áàâäãåçéèêëíìîïñóòôöõúùûüýÿ', 'aaaaaaceeeeiiiinooooouuuuyy');
while(!feof($readFile1) && !feof($readFile2))
{
if($Mot1<$Mot2)
{
fwrite($newFile,$Mot1."\r\n");
$Mot1=fgets($readFile1);
$Mot1=trim($Mot1);
}
else
{
fwrite($newFile,$Mot2."\r\n");
$Mot2=fgets($readFile2);
$Mot2=trim($Mot2);
}
}
fclose($newFile);
fclose($readFile1);
fclose($readFile2);
echo("Opération terminée");