关于这两个函数的官方解释是这样的:
fread()
函数读取文件(可安全用于二进制文件)。fread() 最大一次性能读取 8k长度的字节数,所以不能一次性读取大文件去作下载。 优势在于,操作更加灵活,每次读取指定字节的内容,用于下载时方便控制服务器的流量。
语法
fread(file,length)
参数 描述
file 必需。规定要读取打开文件。
length 必需。规定要读取的最大字节数。
说明
fread() 从文件指针 file 读取最多 length 个字节。该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况。
返回所读取的字符串,如果出错返回 false。
file_get_contents()
定义和用法
file_get_contents() 函数把整个文件读入一个字符串中。
与 函数file()不同的是 file_get_contents() 把文件读入一个字符串,而file()把整个文件读入一个数组中。
file_get_contents() 函数是用于将文件的内容读入到一个字符串中的首选方法。如果操作系统支持,还会使用内存映射技术来增强性能。在读取小文本内容到字符串变量时,这个函数最适合使用,简单,更快。
语法
file_get_contents(path,include_path,context,start,max_length)
参数 描述
path 必需。规定要读取的文件。
include_path 可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 "1"。
context 可选。规定文件句柄的环境。
context是一套可以修改流的行为的选项。若使用 null,则忽略。
对context 参数的支持是 PHP 5.0.0 添加的。
start 可选。规定在文件中开始读取的位置。该参数是 PHP 5.1 新加的。
max_length 可选。规定读取的字节数。该参数是 PHP 5.1 新加的。