也用PHP来实现网页静态发布的两种方法 - 『PHP/Perl编程专区』 - 台州站长论坛 |台州论坛|站长论坛|TVB电视剧|PHP论坛|MYSQL论坛|Ajax论坛|DIV CSS论坛|JS论坛|

来源:百度文库 编辑:神马文学网 时间:2024/04/27 16:42:23

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

如今很多网站都是静态发布的,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‘]."/";#注意
$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中的内容将会显示不出来

我仅仅是给出了最简单的方法,在实际应用中,您可以写一个生成静态页的类,在类中加入相应的异常处理,该文件仅仅给出一个示例。
也用PHP来实现网页静态发布的两种方法 - 『PHP/Perl编程专区』 - 台州站长论坛 |台州论坛|站长论坛|TVB电视剧|PHP论坛|MYSQL论坛|Ajax论坛|DIV CSS论坛|JS论坛| 讲解用PHP实现Jmai组件及发送邮件三例 - 『PHP/Perl编程专区』 - 台州站长论坛 |台州论坛|站长论坛|TVB电视剧|PHP论坛|MYSQL论坛|Ajax论坛|DIV CSS论坛|JS论 利用PHP制作简单的内容采集器 - 『PHP/Perl编程专区』 - 台州站长论坛 |台州论坛|站长论坛|TVB电视剧|PHP论坛|MYSQL论坛|Ajax论坛|DIV CSS论坛|JS论坛|ASP/ 在PHP中使用随机数的三个步骤详细代码 - 『PHP/Perl编程专区』 - 台州站长论坛 |台州论坛|站长论坛|TVB电视剧|PHP论坛|MYSQL论坛|Ajax论坛|DIV CSS论坛|JS论坛| PHP精确到每一秒钟的在线人数显示代码 - 『PHP/Perl编程专区』 - 台州站长论坛 |台州论坛|站长论坛|TVB电视剧|PHP论坛|MYSQL论坛|Ajax论坛|DIV CSS论坛|JS论坛| php性能效率优化 - 『PHP/Perl编程专区』 - 台州站长论坛 |台州论坛|站长论坛|TVB电视剧|PHP论坛|MYSQL论坛|Ajax论坛|DIV CSS论坛|JS论坛|ASP/ASP.NE PHP根据ip显示天气预报 - 『PHP/Perl编程专区』 - 台州站长论坛 |台州论坛|站长论坛|TVB电视剧|PHP论坛|MYSQL论坛|Ajax论坛|DIV CSS论坛|JS论坛|ASP/AS php SQL查询缓存 - 『PHP/Perl编程专区』 - 台州站长论坛 |台州论坛|站长论坛|TVB电视剧|PHP论坛|MYSQL论坛|Ajax论坛|DIV CSS论坛|JS论坛|ASP/ASP. php实现gb2312和unicode间编码转换 - 『PHP/Perl编程专区』 - 台州站长论坛 |台州论坛|站长论坛|TVB电视剧|PHP论坛|MYSQL论坛|Ajax论坛|DIV CSS论坛| PHP使用zlib扩展实现页面GZIP压缩输出 - 『PHP/Perl编程专区』 - 台州站长论坛 |台州论坛|站长论坛|TVB电视剧|PHP论坛|MYSQL论坛|Ajax论坛|DIV CSS论坛|J linux批量查找文件内容 - 『程序开发』 - 台州站长论坛 |台州论坛|站长论坛|TVB电视剧|PHP论坛|MYSQL论坛|Ajax论坛|DIV CSS论坛|JS论坛|ASP/ASP.NET论坛| PHP5设置时区方法大全 - 『PHP/Perl编程』 - 台州站长论坛,台州论坛,TVB... Discuz! Board PHP|BBS|论坛 也用PHP来实现网页静态发布的两种方法 用ASP实现论坛的UBB功能->>网页教学网(http://www.webjx.com)建站指南|网页制作|网页特效|Flash动画|网络编程|素材下载|教程下载|建站|HTML|CSS|JAVASCRIPT|ASP|PHP|JSP|ASP.NET|数据库 php smarty 入门教程[zz] - 缔客论坛 php smarty 入门教程[zz] - 缔客论坛 php smarty 入门教程[zz] - 缔客论坛 (原创)多难兴邦 - 原创文学 - 台州论坛 | 台州网 | 台州人上台州论坛 | 台州第... 水调歌头.玉树 - 原创文学 - 台州论坛 | 台州网 | 台州人上台州论坛 | 台州第一... 喜悦国际村 |php教程|免费php空间|php论坛|php源码| - php基础编程 - session清空问题 - www.phpx.com php.ini 中文版 我收藏的.._LAMP专区_论坛_LUPA开源社区 | linux社区 怎么做论坛版主?论坛版主学习材料(也适合普通会员) - 站长论坛 沧海行 - 原创文学 - 台州论坛 | 台州网 | 台州人上台州论坛 | 台州第一人气社区