Rumah  >  Artikel  >  pembangunan bahagian belakang  >  用 PHP 内置函数 fgets 读取文件一行内容 - 克莱普斯

用 PHP 内置函数 fgets 读取文件一行内容 - 克莱普斯

怪我咯
怪我咯asal
2017-07-11 09:31:001842semak imbas

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。

Atas ialah kandungan terperinci 用 PHP 内置函数 fgets 读取文件一行内容 - 克莱普斯. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn