加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

也用PHP来实现网页静态发布的两种方法

发布时间:2022-03-12 13:15:30 所属栏目:编程 来源:互联网
导读:如今很多网站都是静态发布的,PHP当然也可以方便的实现静态发布喽,具体的实现方法很多,下面我就说说我会的两种方法。 方法一:ob_get_contents() 这是一种很方便的方法,也是很常用的方法,实现原理是:首先打开缓存,然后创建相应的静态页文件,写入缓存
  如今很多网站都是静态发布的,PHP当然也可以方便的实现静态发布喽,具体的实现方法很多,下面我就说说我会的两种方法。
 
  方法一:ob_get_contents()
 
  这是一种很方便的方法,也是很常用的方法,实现原理是:首先打开缓存,然后创建相应的静态页文件,写入缓存的内容,清空缓存。
 
  示例:
 
  <?php
  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();
 
  <?php
  $fn=date('ymdhis').rand(1000,9999).'html';
  $url= 'http://'.$_SERVER['HTTP_HOST']."/";#注意
  $content=file_get_contents($url);
  $fs=fopen($fn,'w');
  fwrite($fs,$content);
  ?>
  下面对上面的注意进行一下解释,如果在些你使用的是仅仅是文件名,而不是URL那么您这个文件中如果有使用引用文件比如require
 
  ('header.php');那么header.php中的内容将会显示不出来。
 
  方法三:str_replace()
 
  <?php
  $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中的内容将会显示不出来
 
  我仅仅是给出了最简单的方法,在实际应用中,您可以写一个生成静态页的类,在类中加入相应的异常处理,该文件仅仅给出一个示例。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读