gpt4 book ai didi

php - stream_get_contents 是否比 file_get_contents 级别更低且速度更快?

转载 作者:行者123 更新时间:2023-12-03 09:40:14 27 4
gpt4 key购买 nike

从评论到 this answerstream_get_contents 相比,我读到“file_get_contents 是低级的” .然而根据Manual , stream_get_contents

Identical to file_get_contents(), except that stream_get_contents() operates on an already open stream resource and returns the remaining contents in a string, up to maxlength bytes and starting at the specified offset.



哪个说法是正确的?
stream_get_contents真的更低级更快吗?

具体来说,我有兴趣从 HD 读取本地文件。

最佳答案

我来晚了,但它可能会帮助其他人
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 header 。 (更多信息请引用 https://www.php.net/manual/en/function.file-get-contents.php)
对于较大的文件/资源​​,stream_get_contents() 可能是首选,因为它与 file_get_contents() 将整个数据转储到内存中的情况相反,它会部分传送内容。

关于php - stream_get_contents 是否比 file_get_contents 级别更低且速度更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20674271/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com