Rechercher : dans
Par :

[PHP] : supprimer une ligne d'un fichier

Dernière réponse le 25 mar 2008 à 09:18:49 kkhuet, le 18 avr 2005 à 18:32:10 
 Signaler ce message aux modérateurs

Bonjour,
je souhaiterais savoir s'il est possible de supprimer une ligne d'un fichier sans forcément passer par un deuxième fichier dans lequel il faut recopier le tout sauf ce que l'on veut supprimer.
Merci pour l'aide

Meilleures réponses pour « [PHP] : supprimer une ligne d'un fichier » dans :
Supprimer un fichier contenant des caractères spéciaux VoirSi le fichier que vous souhaitez supprimer commence par un caractère "moins" (-), la commande rm risque de prendre la suite comme une option de la ligne de commande. Pour y remédier, une première solution consiste à faire précéder le nom du...
[MacOS X] Supprimer les fichiers récalcitrants VoirIl vous arrive peut-être parfois de vouloir vider la corbeille et que les fichiers ou dossiers que vous voulez supprimer y restent, refusent de disparaître. Pour résoudre ce problème, utilisez une commande UNIX dans le Terminal. Note : ATTENTION...
[Windows] Impossible de supprimer un fichier ou un dossier VoirSi Windows n'arrive pas à supprimer un fichier ou un dossier, la cause peut être l'une des suivantes : Le fichier ou le dossier à supprimer est utilisé par un processus du système Le dossier à supprimer contient des fichiers ou dossiers cachés ...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...

1

kij_82, le 18 avr 2005 à 19:16:53

Ben ouai, tu passe par la mémoire...

++ ~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~

Répondre à kij_82

2

kkhuet, le 19 avr 2005 à 09:21:32

Tu peux être un peu + explicite parce que là je vois pas du tout

Répondre à kkhuet

3

nashouille, le 19 avr 2005 à 14:04:48

PLutot que de stocker dans un fichier les lignes que tu veux garder, stocke les dans un tableau.
tu ouvres la lignes si elle est bonne tu la met dans un tableau autrement tu la laisse tomber. Une fois le ifchier parcourut en entier tu le remplit avec le contenu du tableau. J'ai pas les fonctions en tête mais ce n'est pas très compliqué je penses

Répondre à nashouille

4

kij_82, le 19 avr 2005 à 16:26:55

Bon.. ben voilà, c'est ca que je voyait, donc comme dit Nashouille, il te reste à mettre en pratique, ca devrait prendre qq lignes.

++ ~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

5

ORioN, le 24 mar 2008 à 22:15:21

Y'a personne qui se sent d'expliqué clairement comment on peut supprimer une ligne d'un fichier texte écrit via php ???
Exemple: Avec le php j'ai écrit cette phrase dans un fichier texte "coucou orion"
comment faire pour changer "coucou orion" par "coucou orion il est $heure" ?
Sa a l'air simple mais je bataille :p

Répondre à ORioN

6

darkneurone, le 25 mar 2008 à 00:33:43

Bonsoir,

<?php

$tab = array();

//ouverture du fichier
$fichier = fopen('ton_fichier.txt','r');
if($fichier){
while(!feof($fichier)){
array_push($tab, fgets($fichier));
}
fclose($fichier);
}

//toutes les lignes de notre fichier sont stockées dans le tableau tab...
$fic = fopen('ton_fichier.txt', 'w');
if($fic){
//on efface l'intégralité du fichier
while(!feof($fic)){
fputs('');
}
//finalement on recopie toutes les données sans la première ligne...
$nb = count($tab);
$suppr = 3; //suppr ligne numero 3
for($i=0;$i<$tab;$i++){
if(!($i === ($suppr-1))){
$fic = fputs($tab[$i]);
}
}
fclose($fic);
}
?>

je n'ai pas testé le code et il est loin d'être optimisé... c'est une idée comme ça...

Bonne soirée

EDIT : j'avais mal lu ton problème... le script effaçait que la première ligne de ton fichier... je l'ai modifié pour effacer la ligne que tu veux... mais bon je ne l'ai pas testé... et il est pas du tout optimisé...

Répondre à darkneurone

7

 Alain_42, le 25 mar 2008 à 09:18:49
  • +1

Bonjour,

une simplification avec la fonction file():

tout ça:

$tab = array();

//ouverture du fichier
$fichier = fopen('ton_fichier.txt','r');
if($fichier){
while(!feof($fichier)){
array_push($tab, fgets($fichier));
}
fclose($fichier);
}


peut être remplacé par:

$tab=file('ton_fichier.txt');


qui fait tout l'open le close etc...

Répondre à Alain_42
Collection CommentÇaMarche.net