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