So überprüfen Sie Dateiinhalte in PHP
Das Durchsuchen einer Datei nach bestimmten Inhalten ist in verschiedenen Programmierszenarien unerlässlich. Diese Aufgabe kann in PHP durch die Verwendung der Funktion file_get_contents() oder durch das Befehlszeilendienstprogramm grep gelöst werden.
Bedenken Sie Ihren ursprünglichen Code, der versucht hat zu überprüfen, ob eine Datei eine bestimmte Zeichenfolge enthält. Der Fehler in Ihrem Code lag in der bedingten Anweisung innerhalb der Schleife, wo Sie fälschlicherweise eine positive Gleichheitsprüfung if (strpos($buffer, $id) === false) verwendet haben, die die Datei nur dann als gültig markieren würde, wenn die Zeichenfolge vorhanden wäre nicht vorhanden. Um dies zu korrigieren, sollte es in if (strpos($buffer, $id) !== false) geändert werden, um das Vorhandensein der Zeichenfolge richtig zu identifizieren.
Der Einfachheit halber finden Sie hier jedoch eine effizientere Lösung das nutzt file_get_contents():
<code class="php">if( strpos(file_get_contents("./uuids.txt"),$_GET['id']) !== false) { // do stuff }</code>
Dieser Ansatz lädt die gesamte Datei in den Speicher und sucht nach der Zeichenfolge, was effizienter ist, als die Datei Zeile für Zeile zu lesen.
Wenn Sie Wenn Sie sich Gedanken über die Speichernutzung machen, können Sie alternativ grep verwenden, um nach der Zeichenfolge zu suchen, ohne die gesamte Datei in den Speicher zu laden:
<code class="php">if( exec('grep '.escapeshellarg($_GET['id']).' ./uuids.txt')) { // do stuff }</code>
Beide Methoden ermitteln effektiv, ob die angegebene Datei die bereitgestellte Zeichenfolge enthält, und ermöglichen Ihnen so um mit den beabsichtigten Aktionen fortzufahren.
Das obige ist der detaillierte Inhalt vonWie kann man in PHP prüfen, ob eine Datei bestimmte Inhalte enthält?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!