Maison  >  Article  >  développement back-end  >  Comment vérifier si un fichier contient un contenu spécifique en PHP ?

Comment vérifier si un fichier contient un contenu spécifique en PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-23 18:21:42789parcourir

How to Check if a File Contains Specific Content in PHP?

Comment vérifier le contenu d'un fichier en PHP

La recherche d'un contenu spécifique dans un fichier est essentielle dans divers scénarios de programmation. Cette tâche peut être réalisée en PHP grâce à l'utilisation de la fonction file_get_contents() ou via l'utilitaire de ligne de commande grep.

Considérez votre code d'origine, qui tentait de vérifier si un fichier contenait une chaîne donnée. La faille dans votre code résidait dans l'instruction conditionnelle dans la boucle, où vous utilisiez par erreur une vérification d'égalité positive if (strpos($buffer, $id) === false) qui ne marquerait le fichier comme valide que si la chaîne était pas présent. Pour corriger cela, il doit être remplacé par if (strpos($buffer, $id) !== false) pour identifier correctement la présence de la chaîne.

Cependant, par souci de simplicité, voici une solution plus efficace qui utilise file_get_contents() :

<code class="php">if( strpos(file_get_contents("./uuids.txt"),$_GET['id']) !== false) {
    // do stuff
}</code>

Cette approche charge l'intégralité du fichier en mémoire et recherche la chaîne, ce qui est plus efficace que de lire le fichier ligne par ligne.

Si vous' Si vous êtes préoccupé par l'utilisation de la mémoire, vous pouvez également utiliser grep pour rechercher la chaîne sans charger l'intégralité du fichier en mémoire :

<code class="php">if( exec('grep '.escapeshellarg($_GET['id']).' ./uuids.txt')) {
    // do stuff
}</code>

Ces deux méthodes déterminent efficacement si le fichier spécifié contient la chaîne fournie, vous permettant pour procéder aux actions prévues.

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!

Déclaration:
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