首頁  >  文章  >  後端開發  >  如何使用 PHP 高效搜尋檔案中的字串

如何使用 PHP 高效搜尋檔案中的字串

Susan Sarandon
Susan Sarandon原創
2024-10-23 16:36:02458瀏覽

How to Efficiently Search for Strings in Files with PHP

使用 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn