所在位置:首页 > 学习心得 > PHP如何定时自动生成静态HTML?
PHP如何定时自动生成静态HTML?
  • PHP如何定时自动生成静态HTML?
    发布时间:2010-11-15 类别:PHP技术 来源:侠客工作室
    • 1
    • 2
    • 3
    • 4
    • 5
  • PHP定时自动生成静态HTML的实现代码

    网上找到的,记一下。实践证明,可用。
    代码如下:
    <?php
    $nowtime=time();
    $pastsec = $nowtime – $_GET["t"];

    if($pastsec<60)
    {
    exit; //1分钟更新一次,时间可以自己调整
    }

    ob_start(); //打开缓冲区
    include(”index.php”);
    $content = ob_get_contents(); //得到缓冲区的内容
    $content .= “n<script language=javascript src=”f5.php?t=”.$nowtime.”"></script>”; //加上调用更新程序的代码

    file_put_contents(”index.html”,$content);

    if (!function_exists(”file_put_contents”))
    {
    function file_put_contents($fn,$fs)
    {
    $fp=fopen($fn,”w+”);
    fputs($fp,$fs);
    fclose($fp);
    }
    }

    下面是一些解说:
    在开始之前还是提一下三个函数吧:"ob_start()、ob_end_clean()、ob_get_contents()"
    代码如下:
    ob_start():是打开缓冲区的,就是要把你需要生成的静态文件的内容缓存在这里;
    ob_get_contents():是读出缓冲区里的内容,下面有代码为例;
    ob_end_clean():这个比较重要,只有使用了这个函数后,缓冲区里的内容才会读取出来;


    [code]
    if(file_exists("./index.htm"))//看静态index.htm文件是否存在
    {
    $time=time();

    //文件修改时间和目前时间相差?的话,直接导向htm文件,否则重新生成htm
    if($time-filemtime("./index.htm")< 600)
    {
    header("Location:classhtml/main.htm");

    }
    }

    //在你的开始处加入ob_start();
    ob_start();

    //首页内容,就是你的动态部分了

    //在结尾加入ob_end_clean(),并把本页输出到一个变量中
    $temp=ob_get_contents();
    ob_end_clean();

    //写入文件
    $fp=fopen("./index.htm",‘w‘);
    fwrite($fp,$temp) or die(‘写文件错误‘);
    //echo"生成HTML完成!";
    [html]

  • ☆☆☆技术交流群:5684178☆☆☆
  • 上一篇:PHP 根据IP地址控制访问
  • 下一篇:FCKeditor 禁止上传图片功能
侠客工作室主要承揽网站制作|企业建站|北京网站制作|北京网站建设|北京企业建站|专业仿站|SEO优化等业务
地址:北京市海定区清河水木天成 电话:13718388147 13718388147 传真:13718388147 访问统计:
投诉电话:13718388147 投诉QQ:点击这里给我发消息 客服信箱:1300105556@qq.com 邮编:102200 北京网站建设地图 北京网站建设RSS地图
版权所有 2009-2014侠客工作室【北京网站建设】 京ICP备11021494号-1