>  기사  >  백엔드 개발  >  PHP 내장 함수 fgets를 사용하여 파일 내용 한 줄 읽기 - Kreps

PHP 내장 함수 fgets를 사용하여 파일 내용 한 줄 읽기 - Kreps

怪我咯
怪我咯원래의
2017-07-11 09:31:001827검색

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。

위 내용은 PHP 내장 함수 fgets를 사용하여 파일 내용 한 줄 읽기 - Kreps의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.