首頁 > 後端開發 > php教程 > php的file_get_content不会销毁读取到内存中的文件内容吗?该如何解决

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-13 10:27:07
原創
1077 人瀏覽過

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板