Page 1 sur 1

Ecrire à partir de "l'avant dernière ligne" dans u

Posté : 22 juil. 2008, 16:46
par jipe
Bonjour à tous,

J'ai à ma disposition un fichier php quelconque, qui est logiquement structuré de façon classique :

<?php

code

?>

Mon objectif est de pouvoir écrire des données dans ce fichier juste avant la balise "?>"

Exemple :


<?php

code existant

mon nouveau code

?>

Pour l'instant je n'arrive pas à écrire à partir de l'avant dernière ligne :

Résultat :

<?php

code existant

?>
mon nouveau code

Après analyse, je pensais résoudre mon problème de la sorte :

- stocke dans une variable la dernière ligne
- effacer la dernière ligne
- écrire ce que tu as à écrire
- réecrire la derniere ligne grâce à la variable..

Ou utiliser : fseek..

Mais plus facile à dire cas faire.

Voilà des conseils, idées ?

Merci

Posté : 22 juil. 2008, 19:44
par sadeq
Y a plus simple :
<?php

// Lire l'existant
$code_existant = file_get_contents("programme1.php");

// Nouveau code à ajouter
$nouveau_code = "//.... écrire ici le nouveau code php ...." ."\r\n ?>";  //avec fin php

// Remplacer le dernier signe PHP par le nouveau code
$code_existant = preg_replace('/(\?>)$/i', $nouveau_code, $code_existant);

//  Ecrire la modif
file_put_contents("programme1.php", $code_existant);

?> 

Posté : 22 juil. 2008, 19:45
par zeus
De plus, le ?> est facultatif si ton fichier ne contient que du PHP ;)

Posté : 23 juil. 2008, 14:45
par jipe
ioo

Merci à vous deux.

Problème réglé.

Sinon je pensais aussi à un file(), tableau associatif.


Bonne journée

jipe

Re: Ecrire à partir de "l'avant dernière ligne" dans un fich

Posté : 23 avr. 2014, 15:32
par fatima.KACHIRI
Merci c'est bien marché