PHP Ecriture dans fichier texte tronquée

Fermé
barbochon Messages postés 2 Date d'inscription jeudi 19 novembre 2009 Statut Membre Dernière intervention 19 novembre 2009 - 19 nov. 2009 à 15:35
barbochon Messages postés 2 Date d'inscription jeudi 19 novembre 2009 Statut Membre Dernière intervention 19 novembre 2009 - 19 nov. 2009 à 16:29
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 Date d'inscription jeudi 19 novembre 2009 Statut Membre Dernière intervention 19 novembre 2009
19 nov. 2009 à 16:29
Problème résolu, j'ai remplacé r+ par a+ et ça va tout de suite mieux...
0