欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【PHP实现静态发布的方法浅谈】,下面是详细的分享!
PHP实现静态发布的方法浅谈
如今很多网站都是静态发布的,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中的内容将会显示不出来
我仅仅是给出了最简单的方法,在实际应用中,您可以写一个生成静态页的类,在类中加入相应的异常处理,该文件仅仅给出一个示例。
以上所分享的是关于PHP实现静态发布的方法浅谈,下面是编辑为你推荐的有价值的用户互动:
相关问题:php中静态方法的问题
答:楼上说的差不多 但从理解的角度 self是类内部默认的类名 new self()就是new classname() 这样应该比较好理解 对于静态方法的理解一样,我们在调用静态类的时候用的是classname::function() 那self就是类内部自己的调用classname::function() 代... >>详细
相关问题:PHP中静态方法与非静态方法的使用及区别
答:PHP中静态方法一起是真正生成静态页面,其二是伪静态 , 与动态相比 ,做成静态可以提升程序性能以及利于搜索引擎索引。 答题不易,互相理解,您的采纳是我前进的动力,感谢您。 希望回答对你有帮助,如果有疑问,请继续追问 >>详细
相关问题:什么时候用静态方法static - PHP进阶讨论
答:静态方法就是隶属于一个类的函数,为什么希望让这个函数隶属于类,一般有两种情况:1、函数的名字太常规,以至于可能与其它独立函数产生命名冲突,则你把它作为类的静态方法,可以变相起到封入命名空间的效果。比如你想为某个类定义一个特别版的... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
