Heim >Backend-Entwicklung >PHP-Tutorial >So suchen Sie mit PHP effizient nach Zeichenfolgen in Dateien
Strings in Dateien mit PHP finden
Bei der Webentwicklung ist es oft notwendig zu überprüfen, ob ein bestimmter String in einer Datei vorhanden ist. Dieser Artikel zeigt eine Methode zum Ausführen dieser Aufgabe in PHP.
Problemstellung
Der folgende PHP-Code versucht zu überprüfen, ob eine Datei eine an die Seite gesendete Zeichenfolge enthält eine GET-Anfrage. Es werden jedoch falsche Ergebnisse zurückgegeben:
<code class="php"> // ... while (($buffer = fgets($handle)) !== false) { if (strpos($buffer, $id) === false) $valid = TRUE; } // ...</code>
Lösung 1: file_get_contents()
Ein effizienterer Ansatz ist die Verwendung der Funktion file_get_contents(), die die Datei lädt gesamte Datei in den Speicher:
<code class="php"> if( strpos(file_get_contents("./uuids.txt"),$_GET['id']) !== false) { // ... }</code>
Lösung 2: exec()
Bei großen Dateien ist es vorzuziehen, exec() zu verwenden, um potenzielle Speicherprobleme zu vermeiden:
<code class="php"> if( exec('grep '.escapeshellarg($_GET['id']).' ./uuids.txt')) { // ... }</code>
Das obige ist der detaillierte Inhalt vonSo suchen Sie mit PHP effizient nach Zeichenfolgen in Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!