php中fgets()与fread()有什么区别

具体详细介绍下,谢谢。
2024年11月27日 14:51
有2个网友回答
网友(1):

fgets 从可访问的文件流里读取一行。以换行符结束。或者读够指定的字数。或者碰到文件结尾。。看先碰到哪一种情况。

fread 从可访问的文件流里读取一定的字数。默认为 1024 字节。或者碰到文件结尾。看先碰到哪一种情况。。

两者主要区别在于。 fgets 碰到换行符的时候。也会停止读取。而 fread 不会。相同的部份就是。文件读完。或者读够指定的字节数。都会停止。

换行符局限于 \r\a 或 \a 二进制为 0x0D0A 或 0x0A ,也就是你在编写文件时输入的回车。HTML 的
不算是换行,算是4个字符而已。

网友(2):

string fgets ( int handle [, int length] )

从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。

出错时返回 FALSE。
=============================================================
string fread ( int handle, int length )

fread() 从文件指针 handle 读取最多 length 个字节。 该函数在读取完 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时就会停止读取文件,视乎先碰到哪种情况。

//=================摘自php5手册