• 技术文章 >php教程 >php手册

    PHP实现静态发布的方法浅谈

    2016-06-06 19:56:17原创318

    如今很多网站都是静态发布的,PHP当然也可以方便的实现静态发布喽,具体的实现方法很多,下面我就说说我会的两种方法。 方法一:ob_get_contents() 这是一种很方便的方法,也是很常用的方法,实现原理是:首先打开缓存,然后创建相应的静态页文件,写入缓存

    如今很多网站都是静态发布的,PHP当然也可以方便的实现静态发布喽,具体的实现方法很多,下面我就说说我会的两种方法。

    方法一:ob_get_contents()

    这是一种很方便的方法,也是很常用的方法,实现原理是:首先打开缓存,然后创建相应的静态页文件,写入缓存的内容,清空缓存。

    示例:

    ob_strart();#打开缓冲区
    $fn=date('ymdhis').rand(1000,9999).'html';//生成文件名
    require("supply.php");#载入要生成静态页的文件,因为后台有ob_clen()所以在不会显示出来
    $fs=fopen($fn,'w');#打开静态页文件
    fwrite($fs,ob_get_contents());#生成静态文件
    ob_clean();#清空缓存
    ?>

    方法二:file_get_contents();

    $fn=date('ymdhis').rand(1000,9999).'html';
    $url= 'http://'.$_SERVER['HTTP_HOST']."//m.sbmmt.com/m/";#注意
    $content=file_get_contents($url);
    $fs=fopen($fn,'w');
    fwrite($fs,$content);
    ?>

    下面对上面的注意进行一下解释,如果在些你使用的是仅仅是文件名,而不是URL那么您这个文件中如果有使用引用文件比如require

    ('header.php');那么header.php中的内容将会显示不出来。

    方法三:str_replace()

    $filemodel="supply.php"; 字串5$file=fopen($filemodel,"w+");
    $temp=fread($file,filesize($filemodel));
    $temp=str_replace("[title]",$title,$temp);
    $temp=str_replace("[postTime]",$postTime,$temp);
    $temp=str_replace("[content]",$content,$temp);
    ?>

    该方法适用于很简单的页面,如果supply.php中有使用引用文件比如require('header.php');那么header.php中的内容将会显示不出来

    我仅仅是给出了最简单的方法,在实际应用中,您可以写一个生成静态页的类,在类中加入相应的异常处理,该文件仅仅给出一个示例。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:使用c#创建php可以调用的dll 下一篇:PHP获取域名方法
    PHP编程就业班

    相关文章推荐

    • 让你精通响应式网页设计的15条建议(1)• 经验积累,献给PHP爱好者!!!• PHP PDO 笔记• 使用 Zend Opcache 加速 PHP,zendopcache• PHP生成HTML静态页面,phphtml静态页面

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网