Heim > Artikel > Backend-Entwicklung > Verwenden Sie die in PHP integrierte Funktion fgets, um eine Zeile mit Dateiinhalten zu lesen – Kreps
php fgets() 函数从文件指针中读取一行。
它的语法是:
fgets(file,length)
参数 | 描述 |
---|---|
file | 必需。规定要读取的文件。 |
length | 可选。规定要读取的字节数。默认是 1024 字节。 |
从 file 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(要看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。
若失败,则返回 false。
注释:length 参数从 PHP 4.2.0 起成为可选项,如果忽略,则行的长度被假定为 1024 字节。从 PHP 4.3 开始,忽略掉 length将继续从流中读取数据直到行结束。如果文件中的大多数行都大于 8 KB,则在脚本中指定最大行的长度在利用资源上更为有效。
注释:从 PHP 4.3 开始本函数可以安全用于二进制文件。早期的版本则不行。
注释:如果碰到 PHP 在读取文件时不能识别 Macintosh 文件的行结束符,可以激活 auto_detect_line_endings 运行时配置选项。
下面我们举个例子讲述如何一行行读取一个文件。
假设我们有一个 sites.txt 文件,该文件有三行,内容如下:
woyouxian.com blabla.cn google.com
sites.txt 的文件路径是:
C:\blabla\php\sites.txt
我们用 PHP 一行行读取文件内容,PHP代码如下:
<html> <body> <?php $f= fopen("C:\\blabla\\php\\sites.txt","r"); while (!feof($f)) { $line = fgets($f); echo "site: ",$line,"<br />"; } fclose($f); ?> </body> </html>
执行该 PHP 文件,返回的显示结果是:
site: woyouxian.com site: blabla.cn site: google.com
该 PHP 代码的第一行是打开文件,最后一行是关闭一个文件。当中的 while 循环语句表示,当文件没有结束,就读取一行,循环执行,直到文件指针到文章末尾为止。
feof
函数是PHP 的一个内置函数,用来测试文件指针是否已经到了文件末尾。如果是返回 TRUE,如果不是,返回 FALSE。eof 的英文意思就是 end of file,很容易记。
正常情况下,fgets
函数的返回值是一个字符串,如果出错,返回 FALSE。
Das obige ist der detaillierte Inhalt vonVerwenden Sie die in PHP integrierte Funktion fgets, um eine Zeile mit Dateiinhalten zu lesen – Kreps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!