effacer une ligne dans un fichier texte

effacer une ligne dans un fichier texte - PHP - Programmation

Marsh Posté le 19-04-2005 à 10:27:06    

bonjour à tous,
 
je voudrais effacer une ligne (voir même un caractère si c'est possible) d'un fichier texte à partir d'un script php.
 
quelqu'un saurait-il comment s'y prendre  :??:

Reply

Marsh Posté le 19-04-2005 à 10:27:06   

Reply

Marsh Posté le 19-04-2005 à 10:35:24    

Reply

Marsh Posté le 19-04-2005 à 10:39:22    

je l'ai déjà lu, mais il n'est pas dit comment effacer une ligne ou écrire par dessus une ligne

Reply

Marsh Posté le 19-04-2005 à 10:54:40    

andlio a écrit :

je l'ai déjà lu, mais il n'est pas dit comment effacer une ligne ou écrire par dessus une ligne

si, t'as essayé au moins ?
indices : fopen, fread, fwrite, fclose
 
 

Reply

Marsh Posté le 19-04-2005 à 11:50:51    

andlio a écrit :

dsl mais je n'y arrive vraiment pas.
 
il faut :
- que je lise le fichier ligne par ligne (ça j'y arrive)
- que je vérifie si c'est l ligne à supprimer (idem)
- que je supprime cette ligne (c'est la le pb !!)
- que je supprime la suivante (et là  :( )
 
ça m'efface tout me fichier à chaque fois.
 
voilà mon code :
 

Code :
  1. $handle=fopen($fichier, 'r+');
  2. for ( ; $read=fgets($handle) ; ) // tant que je peux lire...
  3. {
  4.      if (eregi("#Planification des tests réseaux", $read))
  5.      {     
  6.              $pos=SEEK_CUR-sizeof($read);  //je calcule la position du début de la ligne
  7.              fseek ($handle, $pos);        //je positionne le curseur au déb de la ligne
  8.              fwrite($handle," ", sizeof($read)); // j'efface la ligne
  9.              $read=fgets($handle);         // je recommence pr supprimer la suivante
  10.              $pos=SEEK_CUR-sizeof($read);
  11.              fseek ($handle, $pos);
  12.              fwrite($handle," ", sizeof($read));
  13.      }
  14. }
  15. fclose ($handle);



Message édité par andlio le 19-04-2005 à 11:59:52
Reply

Marsh Posté le 19-04-2005 à 11:52:45    

fonction a utiliser : file, unset, fwrite


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 19-04-2005 à 11:57:25    

KangOl a écrit :

fonction a utiliser : file, unset, fwrite


 
je ne vois pas très bien comment utiliser la fonction unset() dans mon cas...
 
tu peux m'éclairer ?


Message édité par andlio le 19-04-2005 à 11:57:38
Reply

Marsh Posté le 19-04-2005 à 11:59:37    

regarde d'abord le fonctionnement de la fonction file, tu comprendras...


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 19-04-2005 à 12:03:14    

KangOl a écrit :

regarde d'abord le fonctionnement de la fonction file, tu comprendras...


 
je sais comment marche la fonction file().
 
si j'ai bien compris, tu voudrais que je copie le fichier dans un tableau (grâce à file()) et que je supprime des lignes du tableau qui ne m'interresse pas...
 
tu crois que ça marche ça !!?? ça me modifira mon fichier ???

Reply

Marsh Posté le 19-04-2005 à 12:11:26    

non ca ne le modifira pas,  
 
apres ca, faut que tu réécrive toutes les lignes dans ton fichier
 
$all = join($tab,"\n" );
fwrite($fp,$all);
 
(code de memoire, peut etre pas juste)


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 19-04-2005 à 12:11:26   

Reply

Marsh Posté le 19-04-2005 à 13:40:45    

ok merci.
 
de toute façon je pense pas que le fichier sera vraiment gros, donc ça ne posera pas vraiment de pb de tt réécrire.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed