Comment remplacer une ligne spécifique dans un fichier texte en utilisant PHP ?

Barbara Streisand
Libérer: 2024-11-12 06:10:02
original
568 Les gens l'ont consulté

How to Replace a Specific Line in a Text File Using PHP?

Remplacement d'une ligne spécifique dans un fichier texte à l'aide de PHP

Besoin de modifier un fichier texte et de se concentrer sur une ligne spécifique contenant un élément particulier mot? Plongeons dans le monde de PHP et explorons deux techniques pour remplacer facilement cette ligne.

Méthode 1 : remplacement de ligne en mémoire

Pour les fichiers plus petits qui peuvent être confortablement conservé en mémoire, vous pouvez utiliser l'approche suivante :

$data = file('myfile'); // Reads an array of lines

function replace_a_line($data) {
  if (stristr($data, 'certain word')) {
    return "replacement line!\n";
  }
  return $data;
}

$data = array_map('replace_a_line', $data);
file_put_contents('myfile', $data);
Copier après la connexion

Méthode 2 : Moins gourmande en mémoire Remplacement de ligne

Pour les fichiers plus volumineux, essayez cette méthode qui économise davantage de mémoire :

$reading = fopen('myfile', 'r');
$writing = fopen('myfile.tmp', 'w');

$replaced = false;

while (!feof($reading)) {
  $line = fgets($reading);
  if (stristr($line,'certain word')) {
    $line = "replacement line!\n";
    $replaced = true;
  }
  fputs($writing, $line);
}
fclose($reading); fclose($writing);

// Don't overwrite if nothing replaced
if ($replaced) {
  rename('myfile.tmp', 'myfile');
} else {
  unlink('myfile.tmp');
}
Copier après la connexion

Et voilà ! Le choix de l'approche dépend de la taille de votre fichier et de vos contraintes de mémoire. N'oubliez pas que pour les gros fichiers, la deuxième méthode est votre alliée, tandis que la première méthode excelle avec les fichiers plus petits.

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