fgets
fgets
(PHP 4, PHP 5, PHP 7)
fgets - 从文件指针获取行
描述
string fgets ( resource $handle [, int $length ] )
从文件指针获取一行。
参数
handle
文件指针必须是有效的,并且必须指向由fopen()或fsockopen()(并且尚未由fclose()关闭)成功打开的文件。
length
当读取length
1个字节或换行符(包含在返回值中)或EOF(以先到者为准)时读取结束。如果没有指定长度,它将继续读取流,直到到达行尾。
注意
:在PHP 4.3.0之前,省略它将假定1024作为行长度。如果文件中的大部分行都大于8KB,则脚本指定最大行长度会更节约资源。
返回值
返回长度最长的字符串 - 从句柄指向的文件中读取1个字节。 如果在文件指针中没有更多数据要读取,则返回FALSE。
如果发生错误,则返回FALSE
。
更新日志
版本 | 描述 |
---|---|
4.3.0 | fgets()现在是二进制安全的 |
例子
示例#1逐行读取文件
<?php
$handle = @fopen("/tmp/inputfile.txt", "r"
if ($handle) {
while (($buffer = fgets($handle, 4096)) !== false) {
echo $buffer;
}
if (!feof($handle)) {
echo "Error: unexpected fgets() fail\n";
}
fclose($handle
}
?>
注意
注意
:如果PHP在读取Macintosh计算机上创建的文件或由Macintosh计算机创建文件时未正确识别行结束符,启用auto_detect_line_endings运行时配置选项可能有助于解决问题。
注意
:习惯了fgets()
的'C'语义的人应该注意
EOF
如何返回的区别。
扩展内容
- fgetss() - 从文件指针获取行并去除HTML标签
- fread() - 读取二进制安全文件
- fgetc()- 从文件指针获取字符
- stream_get_line() - 从流资源获取直到给定分隔符的行
- fopen() - 打开文件或URL
- popen() - 打开进程文件指针
- fsockopen() - 打开Internet或Unix域套接字连接
- stream_set_timeout() - 设置流上的超时时间
← fgetcsv
fgetss →