Maison > développement back-end > tutoriel php > Comment supprimer efficacement une ligne spécifique d'un fichier en PHP ?

Comment supprimer efficacement une ligne spécifique d'un fichier en PHP ?

Barbara Streisand
Libérer: 2024-12-06 19:59:16
original
1037 Les gens l'ont consulté

How to Efficiently Delete a Specific Line from a File in PHP?

Supprimer des lignes d'un fichier à l'aide de PHP

Supprimer des lignes spécifiques d'un fichier texte peut être une tâche courante dans le développement PHP. Supposons que vous ayez un fichier nommé $dir et une variable $line représentant une ligne complète dans le fichier. Cependant, vous ne connaissez pas son numéro de ligne. Pour supprimer cette ligne, vous pouvez suivre les étapes suivantes :

1. Lisez le contenu du fichier :

$contents = file_get_contents($dir);
Copier après la connexion

2. Effectuer une manipulation de chaîne pour supprimer la ligne :

str_replace peut remplacer les occurrences de $line par une chaîne vide :

$contents = str_replace($line, '', $contents);
Copier après la connexion

3. Mettez à jour le fichier avec le contenu modifié :

file_put_contents($dir, $contents);
Copier après la connexion

Ce code remplace la ligne $ par une chaîne vide, effaçant ainsi la ligne du fichier. Notez que file_put_contents écrasera le contenu du fichier existant, alors assurez-vous d'avoir mis en place toutes les sauvegardes nécessaires.

Méthode awk :

Bien que la méthode ci-dessus soit simple et directe , vous pouvez également utiliser awk pour supprimer la ligne :

awk -F'\r' '!/^$line$/' $dir > /tmp/file.txt
Copier après la connexion
  • -F'r' : Spécifie fin de ligne sous forme de retour chariot (r).
  • !/^$line$/ : inverse la logique grep pour imprimer toutes les lignes sauf celle spécifiée.
  • /tmp/file.txt : écrivez le sortie dans un fichier temporaire.

Une fois que vous avez le fichier mis à jour, vous pouvez remplacer l'original par le temporaire one :

mv /tmp/file.txt $dir
Copier après la connexion

Cette méthode est particulièrement utile lorsqu'il s'agit de fichiers volumineux dont les numéros de ligne sont inconnus.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal