使用 PHP 在檔案中尋找字串
在 Web 開發中,通常需要檢查檔案中是否存在特定字串。本文演示了在 PHP 中完成此任務的方法。
問題陳述
以下 PHP 程式碼嘗試驗證檔案是否包含透過以下方式傳送到頁面的字串一個 GET 要求。但是,它會傳回不正確的結果:
<code class="php"> // ... while (($buffer = fgets($handle)) !== false) { if (strpos($buffer, $id) === false) $valid = TRUE; } // ...</code>
解決方案1:file_get_contents()
更有效的方法是使用file_get_contents() 函數,該函數會載入將整個檔案寫入記憶體:
<code class="php"> if( strpos(file_get_contents("./uuids.txt"),$_GET['id']) !== false) { // ... }</code>
解決方案2:exec()
對於大文件,最好使用exec() 以避免潛在的記憶體問題:
<code class="php"> if( exec('grep '.escapeshellarg($_GET['id']).' ./uuids.txt')) { // ... }</code>
以上是如何使用 PHP 高效搜尋檔案中的字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!