PHP Ecriture dans fichier texte tronquée

barbochon Messages postés 2 Statut Membre -  
barbochon Messages postés 2 Statut Membre -
Bonjour,

J'ai besoin de fusionner des fichierx XML qui se trouvent dans divers répertoires.
J'utilise une fonction récursive qui me permet de lire le contenu de chaque fichier ($fp), d'en lire chaque ligne et de l'écrire dans un fichier de synthese.

Quand j'ouvre le fichier xml de synthèse, je m'apperçoit que seul le premier fichier est bien intégré. Le deuxième fichier est incomplet et bizarrement il manque une bonne partie du début.

Exemple :

</Page>rumb>
			<Name>Financier</Name>
			<Id>d87ed7e6beb149c4ab36978f86f90694</Id>
			<Url>../../a635a7669</Url>
		</Breadcrumb>
	</Breadcrumbs>
	<Pages />
	<Links />
</Page>Links />
</Page>/Id>
				<Name>Mode opératoire - Rapprochement de compte général (FINANCIER)</Name>
				<Type>generic</Type>
etc.

Et voici le bout du code qui traite le fichier.

$fp = fopen($path,"r");
$filexml = fopen ("synthese_xml.xml", "r+");  
   while(!feof($fp))
      {
      $ligne = fgets($fp,8192);
      fputs ($filexml, $ligne);  
      }
fclose ($filexml);  
fclose($fp);

D'ou peut venir le problème ?
Les fichiers XML sont longs (environ 700 lignes avec certaines lignes de 276 caractères). Est-ce une explication ? Comment contourner le problème ?

Si je me contente d'afficher chaque ligne au lieu de la copier dans le fichier, j'obtient bien tout

Merci de votre aide.
A voir également:

1 réponse

barbochon Messages postés 2 Statut Membre
 
Problème résolu, j'ai remplacé r+ par a+ et ça va tout de suite mieux...
0