首页 > 后端开发 > php教程 > php的file_get_content不会销毁读取到内存中的文件内容吗?该如何解决

php的file_get_content不会销毁读取到内存中的文件内容吗?该如何解决

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-13 10:27:07
原创
1076 人浏览过

php的file_get_content不会销毁读取到内存中的文件内容吗?
前阵子给自己写的小程序:遍历指定文件夹内的文件,并搜索指定内容

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->// 这种用法很占用内存,几乎每次都出错$content = file_get_contents($file);// 成功$content = '';$fp = fopen($file, 'r');$content .= fread($fp, 10240);// 即使没有fclose(),在函数内调用仍然会顺利运行完毕
登录后复制

我的猜测是file_get_contents()不会在调用结束后销毁读取的文件内容内存。但是为什么呢?我不认为php的开发者比我蠢,但这看起来确实是个愚蠢的设计

------解决方案--------------------
file_get_contents()

等价于
fopren()
fread(filesize())
fclose()

即一次性将文件读入内存,如遇到巨大的文件就会出现内存不足
而你 $content .= fread($fp, 10240);
每次才读 10k 当然就不容易发生问题了
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
content内容过多
来自于 1970-01-01 08:00:00
0
0
0
怎么获取不到content和desc的值
来自于 1970-01-01 08:00:00
0
0
0
nginx配置Content-Security-Policy,Font被干掉
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板