
静态页面加载速度快(什么是静态页面),利于搜索引擎蜘蛛抓取,所以很多朋友都想把动态页面生成静态页面,那么今天就来介绍下如何用php生成静态网页。 思路大致是这样的:
1设计一个静态页面的模板,需要填充内容的地方用一些符合或者参数代替(不能与其他代码重复),如下图(简图):
2用php读取数据库里的内容,将需要填充内容的符号用读取到的内容替换掉。比如模板是上图,则把<{title}>替换成网页标题,将<{content}>替换成网页内容。这是可以用php中的preg_replace函数进行替换。
3将替换后的内容保存为html或者htm文件。比如可以保存为news_1html,这样在浏览器里就可以访问这样的一个静态网页了。
通过以上三步就可以用php生成静态页面了,以上只是一个简单的思路,在实际生成静态页面的过程中可能会更加复杂,只要用心,多学习php中的函数,多思考就不会有问题难倒你。
利用模板。目前PHP的模板可以说是很多了,有功能强大的smarty,还有简单易用的smarttemplate等。它们每一种模板,都有一个获取输出内容的函数。我们生成静态页面的方法,就是利用了这个函数。用这个方法的优点是,代码比较清晰,可读性好。
这里我用smarty做例子,说明如何生成静态页:
<php
require("smarty/Smartyclassphp");
$t = new Smarty;
$t->assign("title","Hello World!");
$content = $t->fetch("templates/indexhtm");
//这里的 fetch() 就是获取输出内容的函数,现在$content变量里面,就是要显示的内容了
$fp = fopen("archives/2005/05/19/0001html", "w");
fwrite($fp, $content);
fclose($fp);
>
用>
一、静态化的优点:
1有利于搜索引擎收录网站页面的信息:搜索引擎更喜欢静态的,更变于抓取,搜索引擎SEO排名会更容易提高。
2静态网页化网页稳定
3可以提高网页加载速度
4减轻服务器负担,浏览器不需要频发调用数据库。
5数据库出错不会影响正常访问
二、伪静态
PHP伪静态:是利用Apache mod_rewite实现url重写的方法
改写访问地址,能够通过URL的PATHINFO模式来改动它。让它看上去更像一个静态页面。从而有更大的几率被搜索引擎抓取和收录,仅是对搜索引擎比较友好,伪静态化
三、纯静态化
纯静态化,就是生成HTML文件的方式,我们须要开启PHP自带的缓存机制,即ob_start来开启缓存。而且在ob_start之前不能有不论什么输出,否则运行失败,然后我们用ob_get_contents函数来获取缓存中的内容,该函数会返回一个字符串。第三个函数就是ob_end_clean,它用来清空缓存中的内容而且关闭,成功返回True,失败返回False。
<php
if(file_exists("matchhtml") && (time()-filemtime("matchhtml"))<300)
{
//如果存在对应的静态文件,则直接访问
require_once("matchhtml");
}else{
//这里用数组来仿真数据库 *** 作,现实一般都是 *** 作数据库得到对应数据
$student = array("huangxing","chenyuwei",'xufei','zhangjingwen','xuepei');
ob_start();
//载入模板
require_once("mubanphp");
file_put_contents("matchhtml",ob_get_clean());
require_once('matchhtml');
}
网站后台生成真实页面的html就是静态页,动态页没有页面只有一个模板页。
网站更新静态页需要重新生成才行,动态页则不需要重新生成,但是动态页每次访问一个页面都会访问数据库,造成数据拥堵,人多则进不去,静态页则不会。
以上就是关于php如何生成静态网页全部的内容,包括:php如何生成静态网页、dedecms 怎么生成静态页面、java抓取网页内容--生成静态页面 等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)