ajouter une ligne a un endrois precis

deund
Invité n'ayant pas de compte PHPfrance

11 oct. 2015, 00:51

Bonjour a tous ,
jaimerait faire comme ce code qui va tres bien mais au lieu de ajouter a la fin
je voudrait ajouter a la ligne que je voudrait
par exemple a la ligne N° 650

voici le code qui rajoute a la fin

Code : Tout sélectionner

<script src="code.js"></script> </body> </html> <form action='' method='post'> <h2>Liste Blanche</h2> <?php if (isset ($_POST['addblanc'])) { $aj = $_POST['addblanc']; $maj = $aj.PHP_EOL; $i = fopen('test.txt', 'a+'); fseek($i, 20); fputs($i, $maj); } ?> <p> <label for="addblanc">Site &agrave; ajouter</label> <input name="addblanc" type="text" id="addblanc" size="13" maxlenght="20" /> </p> <p> <input type='submit' name='Submit' value='Ajouter' /> </p> </form>

deund
Invité n'ayant pas de compte PHPfrance

11 oct. 2015, 00:58

j'ai mal collé
voici lo bon code trouvé
comment faire pour ecrire a la ligne choisi
sans effacer le reste!
et chaque que je post sa ajoute a la ligne 650 et pousse la ligne qui était la en bas

ex: ligne 650: ce moi bonjour

nouvelle ligne 650: coucou
ligne 651 : ce moi bonjour

Code : Tout sélectionner

<form action='' method='post'> <h2>Liste Blanche</h2> <?php if (isset ($_POST['addblanc'])) { $aj = $_POST['addblanc']; $maj = $aj.PHP_EOL; $nom_fichier='test.txt'; file_put_contents($nom_fichier, $maj - 5, FILE_APPEND); } ?> <p> <label for="addblanc">Site &agrave; ajouter</label> <input name="addblanc" type="text" id="addblanc" size="13" maxlenght="20" /> </p> <p> <input type='submit' name='Submit' value='Ajouter' /> </p> </form> <?php

deund
Invité n'ayant pas de compte PHPfrance

11 oct. 2015, 01:01

encore moi
decidement ce n'ettait pas encore juste

Code : Tout sélectionner

file_put_contents($nom_fichier, $maj, FILE_APPEND);
cette ligne est juste maintenant
mais bon sa fait pas ce que je voudrait

encore merci d'avance

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

12 oct. 2015, 09:39

Bonjour,

Dans la manipulation de fichier, PHP ne te permet que de lire (read), écrire (write) ou compléter (append) un fichier. Pour insérer une nouvelle ligne au milieu de celui-ci, il te faut lire le fichier d'origine et stocker son contenu dans une variable / un tableau, puis modifier cette variable en insérant la ligne là où tu le souhaites et enfin écraser le contenu fichier avec ton nouveau contenu :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...