Page 1 sur 1

ajouter une ligne a un endrois precis

Posté : 11 oct. 2015, 00:51
par deund
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>

Re: ajouter une ligne a un endrois precis

Posté : 11 oct. 2015, 00:58
par deund
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

Re: ajouter une ligne a un endrois precis

Posté : 11 oct. 2015, 01:01
par deund
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

Re: ajouter une ligne a un endrois precis

Posté : 12 oct. 2015, 09:39
par Ryle
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 :)