很多站长朋友们都不太清楚生成静态php,今天小编就来给大家整理生成静态php,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php怎么生成静态页面 2、 php如何实现网页静态 3、 怎么生成静态页面的PHP类 4、 如何生成静态页面的PHP类 php怎么生成静态页面利用模板。目前PHP的模板可以说是很多了,有功能强大的smarty,还有简单易用的smarttemplate等。它们每一种模板,都有一个获取输出内容的函数。我们生成静态页面的方法,就是利用了这个函数。用这个方法的优点是,代码比较清晰,可读性好。
这里我用smarty做例子,说明如何生成静态页:
<?php
require("smarty/Smarty.class.php");
$t = new Smarty;
$t->assign("title","Hello World!");
$content = $t->fetch("templates/index.htm");
//这里的 fetch() 就是获取输出内容的函数,现在$content变量里面,就是要显示的内容了
$fp = fopen("archives/2005/05/19/0001.html", "w");
fwrite($fp, $content);
fclose($fp);
?>
php如何实现网页静态一、静态化的优点:
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("match.html") (time()-filemtime("match.html"))<300)
{
//如果存在对应的静态文件,则直接访问
require_once("match.html");
}else{
//这里用数组来仿真数据库操作,现实一般都是操作数据库得到对应数据
$student = array("huangxing","chenyuwei",'xufei','zhangjingwen','xuepei');
ob_start();
//载入模板
require_once("muban.php");
file_put_contents("match.html",ob_get_clean());
require_once('match.html');
}
怎么生成静态页面的PHP类在服务器上安装一个URL Rewrite组件,再对动态页配置为静态页就可以。不管是ASP或PHP或其他的动态语言,都可以。
IIS服务器的话,在网站根目录下建立“web.config”文件,并写入如下规则,就可以实现整站的伪静态:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="1" stopProcessing="true">
<match url="^index.html" />
<action type="Rewrite" url="/index.php" />
</rule>
<rule name="2" stopProcessing="true">
<match url="^d1kfjc_(.*).html" />
<action type="Rewrite" url="/d1kfjc.php?lb={R:1}" />
</rule>
<rule name="21" stopProcessing="true">
<match url="^d1kfjc.html" />
<action type="Rewrite" url="/d1kfjc.php" />
</rule>
<rule name="3" stopProcessing="true">
<match url="^news_(.*)_(.*).html$" />
<action type="Rewrite" url="/news.php?lb={R:1}amp;page={R:2}" />
</rule>
<rule name="31" stopProcessing="true">
<match url="^news-(.*).html" />
<action type="Rewrite" url="/news_nl.php?id={R:1}" />
</rule>
<rule name="32" stopProcessing="true">
<match url="^news.html" />
<action type="Rewrite" url="/news.php" />
</rule>
<rule name="33" stopProcessing="true">
<match url="^news_(.*).html" />
<action type="Rewrite" url="/news.php?page={R:1}" />
</rule>
<rule name="4" stopProcessing="true">
<match url="^cplist_(.*)_(.*).html$" />
<action type="Rewrite" url="/cplist.php?lb={R:1}amp;page={R:2}" />
</rule>
<rule name="41" stopProcessing="true">
<match url="^cp-(.*).html" />
<action type="Rewrite" url="/cp.php?id={R:1}" />
</rule>
<rule name="42" stopProcessing="true">
<match url="^cplist.html" />
<action type="Rewrite" url="/cplist.php" />
</rule>
<rule name="43" stopProcessing="true">
<match url="^cplist_(.*).html" />
<action type="Rewrite" url="/cplist.php?page={R:1}" />
</rule>
<rule name="5" stopProcessing="true">
<match url="^jm.html" />
<action type="Rewrite" url="/jm.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
当然,这只是个例子,里面的文件结构肯定与你的网站不同,你要研究出里面的意思,来根据自己网站的结构修改规则才能实现你自己网站的伪静态。
如何生成静态页面的PHP类你先搜下不就行了.... 1、在入口文件index.php文件中定义生成静态页面的文件位置 define('HTML_PATH','./htm'); 2、在根目录的config文件夹中的config.php配置静态页面的类型,设为 html 'HTML_FILE_SUFFIX' => '.html',// 默认静态文件后缀
关于生成静态php的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于生成静态php 生成静态库xa命令的详细内容...