ecriture dans un fichier

Lopy
Invité n'ayant pas de compte PHPfrance

12 avr. 2006, 12:28

Bonjour,
je réalise en ce moment des tests pour écrire à un endroit donné dans autre fichier php.
Pour cela je repère un mot dans le fichier et j'essaye d'ajouter une chaîne à la suite.
Le problème vient du fopen:
-- quand j'ouvre le fichier en mode "w+" : il efface tout le contenu
-- quand j'ouvre le fichier en mode "r+" : il réecrit pardessus l'ancien texte
-- quand j'ouvre le fichier en mode "a+" : même si le pointeur se trouve au bon endroit il écrit toujours la chaîne à la fin du fichier.

Quelqu'un aurait-il une solution plz,
Merci d'avance :)

Eléphant du PHP | 413 Messages

12 avr. 2006, 12:46

salut,
si tu veux insérer du texte à l'octet N dans un fichier, il faut :
- créer un nouveau fichier
- copier les octets 1 à N-1 du fichier d'origine dans ce nouveau fichier
- ajouter le texte que tu veux insérer dans le nouveau fichier
- copier les octets de N jusqu'à la fin du fichier d'origine dans le nouveau fichier
- renommer le nouveau fichier avec le nom du fichier d'origine

c'est pas simple, mais c'est comme ça.
--
Goeb

lopy
Invité n'ayant pas de compte PHPfrance

12 avr. 2006, 13:25

ok, c'est sûr ça va pas être simple et ça risque d'être un peu le bordel dans le code mais je devrais m'en tirer.
Merci :)