Edition de fichiers txt

ceeno Messages postés 34 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 1 juillet 2007 - 13 mai 2003 à 22:00
Magicking Messages postés 195 Date d'inscription vendredi 13 octobre 2000 Statut Membre Dernière intervention 8 juillet 2004 - 15 mai 2003 à 12:56
Bonjour,
voila, j'aimerais écrire dans un fichier texte entre 2 balises.
Par exemple, prenons un fichier texte.txt qui contient :
<debut>
<fin>
Je souhaite ajouter une ligne avant la balise <fin> sans avoir à réecrire tout le fichier texte.
Comment faire un fputs à la fin de ce fichier moins 5 caracteres pour écrire avant <fin>.
Merci d'avance.

5 réponses

Magicking Messages postés 195 Date d'inscription vendredi 13 octobre 2000 Statut Membre Dernière intervention 8 juillet 2004
14 mai 2003 à 08:47
Tu veux effacer ce qu'il a entre <debut> et <fin> ?

<debut>
<fin>
0
ceeno Messages postés 34 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 1 juillet 2007
14 mai 2003 à 12:37
Non , en fait je veux écrire entre ces 2 balises, mais kand je fais un fopen avec l'option "a", le pointeur d'ecriture se place à la fin du fichier alors ke je veux écrire avant la balise <fin>.
Il me faudrais donc la commande permettant de placer le pointeur d'écriture dans un fichier ou je le souhaite.
0
Magicking Messages postés 195 Date d'inscription vendredi 13 octobre 2000 Statut Membre Dernière intervention 8 juillet 2004
14 mai 2003 à 12:43
utiise fseek($fp,strlen("<debut>"));
0
ceeno Messages postés 34 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 1 juillet 2007
14 mai 2003 à 22:38
Ca ne marche pas, enfin je me trompe peut etre.
Voila mon code de test :

<?php 
$export = fopen ("./test.txt", "a");
$corp="test";
fseek($export, 0, SEEK_END);
$ptr = ftell($export)-4;
fseek($export,$ptr);
fputs ($export, $corp);
?>


le fichier test.txt contient ça :
<debut><fin>

apres l'execution du code, il contient ça:
<debut><fin>test

je voudrais qu'il contienne ça:
<debut>test<fin>

donc si quelqu'un à une solution..
(Merci Magicking pour tes réponses :) )
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Magicking Messages postés 195 Date d'inscription vendredi 13 octobre 2000 Statut Membre Dernière intervention 8 juillet 2004
15 mai 2003 à 12:56
Avec sa sa devrais aller mieux

<?
$export = fopen ("./test.txt", "r+");
$corp="fin";
fseek($export,strlen("<debut>"));
while(!feof($export)){
$fin.=fread($export,4096);
}
fseek($export,strlen("<debut>"));
fwrite ($export, "$corp$fin");
?>
0
Rejoignez-nous