各位朋友,我现在生成静态网页太慢了,生成两三万个静态页面有时还超时,我是用的是循环执行这个方法function mhtml($url,$fileName)
{
    $Content=file_get_contents($url);
    $fp = @fopen($fileName, "w+");
    @fwrite($fp, $Content);
    fclose($fp);
}
太慢了,fro循环分段提出数据库数据还是太慢,在下愚钝,希望能够得到各位朋友的指点,找到快速生成静态网页的方法。PHP编程

解决方案 »

  1.   

    呵呵 for写错了 见谅!   在下在线等,感谢提出宝贵方法。
      

  2.   

    你生成html是在后台自动的么?
    那你set_time_limit(0)来避免超时 
      

  3.   

    结帖率:100.00%可以从几方面着手!1.大量静态文件的生成可以考虑写成后台的进程让他定时去跑!2.你函数里传的参数$url,如果站点地址是本机的话建议改成本地地址,这样效率高些!3.考虑把大量的静态文件结构是否相同,找出通用的部分生成静态,然后不同的部分用循环去生成!前台显示的时候用shtml结构可以更结构化些!希望对你有所帮助!
    ------------------测试哥的签名--------------------------
    哥默默的低下头,不是哥修养好,而是哥在找砖头!
    --------------------------------------------------------
      

  4.   


    smarty没有参考价值!
    后台自动去跑进程比较合适!------------------测试哥的签名--------------------------
    哥默默的低下头,不是哥修养好,而是哥在找砖头!
    --------------------------------------------------------
      

  5.   

    如果我想全部更新内容页面,定时不大妥啊,我感觉我现在的程序超时也跟提取数据库数据有关,我听说有种方法可以解决,就是分段提取数据库数据,一次提取100条数据,然后生成完这一百条自动跳到下一批,我用for循环试了下,但是挺卡的,不知道人家用的什么方法可以自动跳转下一批数据
      

  6.   

    利用apache多线程,在url里加入参数,你的mhtml根据url传进来的页面,已经要生成的文件名,每次只生成一个html文件,生成后转向到本页面,参数传入下一个url和要生成的名字。
      

  7.   

    错别字多。。
    ------------------------------------------------------------
    你的mhtml根据url传进来的参数,包括页面,以及要生成的文件名