我要循环生成列表静态页面,页1,页2,页3.......大致如下:function make($pagenum)
{
ob_start();

// ..............
$this->sContent = ob_get_contents();
ob_end_clean();
}生成一个页面我现在要连续生成7个for($i=1; $i<=7; $i++)
{
make($i);
}结果只有第一个页面有内容,后面的都为空;如果启始页设为3,则只生有第3页有内容,其它都为空。就是只有第一次循环有内容,请问是什么原因?是不是ob_end_clean();的过,怎么解决?

解决方案 »

  1.   

    不应该使用ob_end_clean();而应该是ob_end_flush();
      

  2.   

    没有问题,测试例function make($pagenum) {
      global $sContent;
      ob_start();
      echo $pagenum;
      // .............. 
      $sContent .= ob_get_contents(); 
      ob_end_clean(); 
    }
    for($i=1; $i<=7; $i++) {
      make($i);
    }echo $sContent;
    应该是你其他地方出问题了