GetArray">

php 生成静态页面

php 生成静态页面

使用ob函数

Execute("SELECT * FROM `#@__infolist` WHERE delstate='' AND checkinfo=true ORDER BY orderid DESC LIMIT 0,5");

ob_start();//开启缓存 echo ''; while($row = $dosql->GetArray()) {?>

+

if(file_put_contents( 'index.html', ob_get_clean() )){

echo 'success';}else{ echo 'error';};//把生成的静态内容保存到index.html文件,而不是输出到浏览器

?>

效果:index。html

刘若英 +

小宋佳 +

刘华强 +

某某某 +

上海花旗银行 +

纯静态化的实现

利用php内置的ob函数实现页面的静态化,大概步骤如下:

?>

我是要生成的静态内容,也可以在该处链接数据库生成动态内容于此

file_put_contents( 'index.html', ob_get_clean() );//把生成的静态内容保存到index.html文件,而不是输出到浏览器

?>

摘自网络:

php页面静态化技术;学习笔记

demo

%demo%

这是需要替换的页面

PHP页面的静态化很有必要,尤其是在CMS系统中,一些内容一旦生成,基本上不会有变化,这时如果用html将页面静态化,无疑会减少服务其解析PHP页面的负担。以下是看书学来的PHP静态化技术,记录之以备不时之需。

无论是利用框架还是简单的脚本,原理基本一致:就是利用PHP进行文件操作,替换html模板中的动态元素,不仅能提高用户的访问速度还能让php与html分离,使代码更具有维护性。

用到的文件操作函数:

fopen() -------------------- 打开一个文件 函数有两个参数: 1.打开文件的路径和文件名 2.打开文件所用的模式(字符串形式) 这里用到了r 和 w r代表只读 w代表只写

feof() -------------------- 读取文件直到文件末尾 这个函数会在读取到文件的末尾返回true 那么就可以用while知道何时读完文件;函数有一个参数,1.打开的文件指针

fwiter() -------------------- 写入文件内容,函数有三个参数:1.写入的文件名称 2.写入的内容 3.(可选) 写入的最大字符数

fclose() ------------------------ 关闭文件;一般做完所有操作后必须关闭文件;

注意事项: 需要注意文件的路径;以及读取文件所需要的权限 ;

header("Content-type:text/html,charset=utf-8");

/******php静态化*******/

class textHtml{

public function fwriteHtml($r){

/*php页面静态化技术

*$r [array];

*route=>生成文件名称及路径

*html=>需要读取的静态资源

*stsyem=>要替换的标签

*content=>标签替换的内容

* */

$cfill = fopen($r["html"],"r");//读取的文件名

$cfillnew = fopen($r["route"],"w");

while(!feof($cfill)){

$row = fgets($cfill);

$res = str_replace($r["stsyem"],$r["content"],$row); //替换内容

fwrite($cfillnew,$res);//写入html文件

}

/*关闭文件*/

fclose($cfill);

fclose($cfillnew);

}

}

$f = new textHtml;

$fillname = microtime().".html";

$content = "这是一个页面静态化技术";

$r["route"] = $fillname;

$r["html"] = "index.html";

$r["stsyem"] = "%demo%";

$r["content"] = $content;

$f->fwriteHtml($r);

?>

最后得到的结果

全国城市三级联动

这是一个页面静态化技术

利用php静态化技术可以更好的实现网页功能 ; 在创建文章或者一些不经常改变内容中都可以用到

相关阅读

免費線上 AI 人臉編輯器
365体育直播下载安装

免費線上 AI 人臉編輯器

⌚ 12-06 👁️ 3828
如何在Mac上保存图像而不加扰
365提款成功但是不到账

如何在Mac上保存图像而不加扰

⌚ 07-18 👁️ 6187
什麼是木星?概念、結構、大氣層、衛星和其他特徵
365体育直播下载安装

什麼是木星?概念、結構、大氣層、衛星和其他特徵

⌚ 11-13 👁️ 6251