Effacer une ligne dans fichier texte en php
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Ca fait deja un moment que je cherche sur le web comment supprimer une ligne dans un fichier texte, je vous explique plus en details :
Ja'i un fichier texte "data.txt" qui comporte ces données (Je sais c'est idiot de mettre des utilisateurs dans un fichier texte mais c'est ce que l'on m'a demandé :D ):
Ce fichier est bien sur toujours en modification donc ne comporte pas un nombre de ligne fixe.
ma question est la suivante : comment faire pour supprimer la ligne correspondant a un nom d'utilisateur rentrer par exemple dans un formulaire?
Merci d'avance pour votre precieuse aide et Bonne Journée
Ca fait deja un moment que je cherche sur le web comment supprimer une ligne dans un fichier texte, je vous explique plus en details :
Ja'i un fichier texte "data.txt" qui comporte ces données (Je sais c'est idiot de mettre des utilisateurs dans un fichier texte mais c'est ce que l'on m'a demandé :D ):
admin;123;1;http://static.commentcamarche.net/... michael;123;2;; fake;123;54;; admin2;123;;;
Ce fichier est bien sur toujours en modification donc ne comporte pas un nombre de ligne fixe.
ma question est la suivante : comment faire pour supprimer la ligne correspondant a un nom d'utilisateur rentrer par exemple dans un formulaire?
Merci d'avance pour votre precieuse aide et Bonne Journée
A voir également:
- Effacer une ligne dans fichier texte en php
- Fichier bin - Guide
- Fichier epub - Guide
- Partager photos en ligne - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
2 réponses
Salut.
Voici en gros comment je ferais (non testé).
Ça peut te convenir ?
Voici en gros comment je ferais (non testé).
Ça peut te convenir ?
// charger le fichier dans un tableau $filePath = 'data.txt' $lignes = file($filePath); // rechercher/supprimer la ligne correspondant au nom indiqué dans le formulaire foreach ($lignes as $num => $data) { if ( strpos ( $data , $_POST['nom'].';' ) === 0 ) { unset $lignes[$num]; } } // enregistrer ça dans le fichier $handle = fopen($filePath, 'w+'); fwrite ( $handle, implode ("\n", $lignes) ); fclose($handle);
Hello,
Merci c'est super ca marche :D j'ai juste rajouter 2 ligne pour effacer le fichier avant d'ajouter les donnée mais sinon ca marche impec.
Ecore merci et bonne journée
Merci c'est super ca marche :D j'ai juste rajouter 2 ligne pour effacer le fichier avant d'ajouter les donnée mais sinon ca marche impec.
<?php // charger le fichier dans un tableau $filePath = 'data.txt'; $lignes = file($filePath); // rechercher/supprimer la ligne correspondant au nom indiqué dans le formulaire foreach ($lignes as $num => $data) { if (strpos($data,'admin2'.';') === 0) { echo $lignes[$num]; unset($lignes[$num]); } } //J'efface le fichier texte $filename = 'data.txt'; $handle = fopen($filename, "w"); fclose($handle); //Je referme le fichier // enregistrer ça dans le fichier $handle = fopen($filePath, 'a'); fwrite ( $handle, implode ("\n", $lignes) ); fclose($handle); ?>
Ecore merci et bonne journée