我来晚了,但这可能对其他人有帮助
file_get_contents()函数将文件内容加载到内存中。它一直待在内存中,并等待程序调用echo命令时将其传递到输出缓冲区。
一个很好的使用示例是:
echo file_get_contents('file.txt');
stream_get_contents()函数返回已经打开流的内容。例如:
$handle = fopen('file.txt', 'w+');
echo stream_get_contents($handle);
你可以看到,stream_get_contents() 使用由 fopen() 创建的现有流来将内容作为字符串获取。
file_get_contents() 是更受欢迎的方式,因为它不依赖于打开的流,并且使用内存映射技术有效地管理内存。对于读取外部网站的内容,您还可以在获取内容时设置HTTP头。(有关更多信息,请参见https://www.php.net/manual/en/function.file-get-contents.php)
对于较大的文件/资源,stream_get_contents() 可能更受欢迎,因为它会分段传递内容,而 file_get_contents() 则会将整个数据倾入内存。