利用PHP生成静态化网页的三种方法:
方法一:ob_get_contents()
这是一种很方便的方法,也是很常用的方法,实现原理是:首先打开缓存,然后创建相应的静态页文件,写入缓存的内容,清空缓存。
示例:
- <?php
- ob_strart();//打开缓冲区
- $fn=date('ymdhis').rand(1000,9999).'html';//生成文件名
- require("test.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);
- ?>
方法三:str_replace()
- <?php
- $filemodel="test.php";
- $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);
- ?>
该方法适用于很简单的页面,如果test.php中有使用引用文件比如require('header.php');那么header.php中的内容将会显示不出来.
loading