Maison > Article > développement back-end > Comment remplacer une ligne spécifique dans un fichier texte en utilisant 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);
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'); }
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!