当前位置:Gxlcms > PHP教程 > 循环大量数据导致内存超出,不增加内存怎么解决该有关问题

循环大量数据导致内存超出,不增加内存怎么解决该有关问题

时间:2021-07-01 10:21:17 帮助过:8人阅读

循环大量数据导致内存超出,不增加内存如何解决该问题
我在生成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 < $per ) {
echo ++ $s;
echo '
';
}
echo '
';
echo $s;
if ($s < $total) {
echo "";
}

人气教程排行