循环大量数据导致内存超出,不增加内存怎么解决该有关问题
程序员文章站
2022-04-23 12:53:26
...
循环大量数据导致内存超出,不增加内存如何解决该问题
我在生成HTML文件时,由于数据量较大,无数次的 fopen fwrite fclose,文件还没生成完呢,就提示内存超出。
我的HTML生成方式是,读入缓存,再写入文件
我unset(temp) 也不起作用,这个问题到底该怎么解决。不知那些CMS又是怎么生成HTML的,再大的数据也不会内存超出
------解决思路----------------------
这种情况要分批执行,上个代码,你马上就明白其中的原理了
我在生成HTML文件时,由于数据量较大,无数次的 fopen fwrite fclose,文件还没生成完呢,就提示内存超出。
我的HTML生成方式是,读入缓存,再写入文件
ob_start ();
$temp = ob_get_contents ();
ob_end_clean ();
我unset(temp) 也不起作用,这个问题到底该怎么解决。不知那些CMS又是怎么生成HTML的,再大的数据也不会内存超出
------解决思路----------------------
这种情况要分批执行,上个代码,你马上就明白其中的原理了
$total = 10;
$s = 0;
if (isset ( $_GET ['s'] )) {
$s = &$_GET ['s'];
}
$per = $s + 5; // 每次循环5条
if ($per > $total) { // 如果下次循环会超过总数,就让他只能循环到总数
$per = &$total;
}
while ( $s echo ++ $s;
echo '
';
}
echo '
';
echo $s;
if ($s echo "";
}
相关文章
相关视频
下一篇: PHP设计模式漫谈之迭代器模式(3)