在沒有記憶體限制的情況下逐行讀取大檔案
將整個檔案載入記憶體可能會成為效能瓶頸,尤其是在處理大量文件時文件。為了在保留逐行存取的同時克服這項挑戰,請考慮使用 fgets() 函數。
fgets() 的操作方式是從檔案指標中取得單行並將其儲存在指定的緩衝區中。它的實作消耗最少的內存,因為它只讀取當前行,而不是整個檔案。
以下是一個範例,示範如何使用fgets() 逐行讀取大文件:
<?php $handle = fopen("inputfile.txt", "r"); if ($handle) { while (($line = fgets($handle)) !== false) { // Process the current line here. } fclose($handle); } ?>
此腳本可以高效地逐行迭代文件,而不會超出記憶體限制,即使對於大至1 GB 的檔案也是如此。
以上是如何在 PHP 中逐行讀取大檔案而不耗盡記憶體?的詳細內容。更多資訊請關注PHP中文網其他相關文章!