PHP函數fgets -- 從文件指針中讀取一行說明
string fgets ( int handle [, int length] )
從 handle 指向的文件中讀取一行並返回長度最多為 length - 1 字節的字符串。碰到換行符(包括在返回值中)、EOF 或者已經讀取了 length - 1 字節後停止(看先碰到那一種情況)。如果沒有指定 length,則默認為 1K,或者說 1024 字節。
出錯時返回 FALSE。
PHP函數fgets通常的缺陷:
習慣了C 語言中 fgets() 語法的人應該注意到 EOF 是怎樣被返回的。
文件指針必須是有效的,並且必須指向一個由 fopen() 或 fsockopen() 成功打開的文件。
以下是一個PHP函數fgets簡單例子: 例子 1. 逐行讀取文件
- < ?php
- $handle = fopen("/tmp/
inputfile.txt", "r");- while (!feof($handle)) {
- $buffer = fgets($fd, 4096);
- echo $buffer;
- }
- fclose($handle);
- ?>
注: length 參數從 PHP 4.2.0 起成為可選項,如果忽略,則行的長度被假定為 1024。從 PHP 4.3 開始,忽略掉 length 將繼續從流中讀取數據直到行結束。如果文件中的大多數行都大於 8KB,則在腳本中指定最大行的長度在利用資源上更為有效。
注: 從 PHP 4.3 開始本函數可以安全用於二進制文件。早期的版本則不行。
注: 如果碰到PHP函數fgets在讀取文件時不能識別 Macintosh 文件的行結束符,可以激活 auto_detect_line_endings 運行時配置選項。