我有一个PHP循环,我读取并处理了几个文件的内容。
<?php
foreach($files as $file)
{
$f = fopen($file, 'r');
$content = fread($f, filesize($file));
import($content);
fclose($f);
}
?>
然而,在循环的几次迭代之后,我仍然在fread()行上得到内存耗尽错误 - 我的理解是使用fclose()将释放资源的内存,但事实并非如此?
我已经阅读了很多关于此事的其他问题,他们都使用fclose()引用,我已经在做了。我还倾销了memory_get_usage()/ memory_get_peak_usage(),他们只是一直向上,直到出错。
我是否误解了fclose()如何处理释放内存?
答案 0 :(得分:1)
<?php
foreach($files as $file)
{
$f = fopen($file, 'r');
$content = fread($f, filesize($file));
import($content);
fclose($f); // this close file
unset($content); // this free memory allocated to content of file
}
?>