PHP静态化

Posted Mr_Echo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP静态化相关的知识,希望对你有一定的参考价值。

  php站点开发过程中,因为搜索引擎对PHP页面收录和html的收录有一定的区别,为了站点的推广或者SEO的需要,需要对站点进行一定的静态化。静态化并非页面中没有动画等元素,而是指网页的html代码都在页面中,不需要再去执行PHP脚本等servicer端的语音,我们能够直接访问到的网页,这就是静态网页。

       有一种方式是改写防伪地址,能够通过URL的PATHINFO模式来改动它,让它看上去更像一个静态页面,从而有更大的几率被搜索引擎抓取和收录,仅是对搜索引擎比较友好,伪静态化

       第二种就是站点能够在用户访问站点之前就通过一定的程序来进行静态化,生成静态页面,当用户去访问该页面的时候,因为访问的是静态页面,因此,访问速度会比访问动态页面的速度快了非常多倍,前台的表现是页面载入速度变快,在后台的表现是降低了数据库的链接,降低了数据库的压力,唯一的缺点就是相对占的硬盘多一些,硬盘相对便宜的多。

       纯静态化,就是生产HTML文件的方式,我们须要开启PHP自带的缓存机制,即ob_start来开启缓存,而且在ob_start之前不能有任何输出,否则运行失败,然后我们用ob_get_content函数来获取缓存中的内容,该函数会返回一个字符串,第三个函数就是ob_end_clean,它用来清空缓存中的内容而且关闭,成功返回true,失败返回false。

<?php
//开启缓存
ob_start();
//第一步连接数据库
$conn = mysqli_connect("localhost","root","","bbs");
//第二步设置对应的字符编码
$setting = ‘set names utf8‘;
mysqli_query($conn,$setting);
//第三步进行查询
$sql = ‘SELECT * FROM user‘;
$result = mysqli_query($conn,$sql);
//第四步把查询结果转化为一个数组
$rows = mysqli_num_rows($result);
$sqldata = array();
for($i = 0;$i <$rows;$i ++){
$sqldata[] = mysqli_fetch_assoc($result);
}
//然后打印该信息
var_dump($sqldata);
//得到生成的html文件,下次訪问就无需訪问数据库了
$msg = ob_get_contents();
ob_end_clean();
//把输出内容放入一个html文件里
$f = fopen("static.html","w");
fwrite($f,$msg);
echo "静态化成功";

以上是关于PHP静态化的主要内容,如果未能解决你的问题,请参考以下文章

PHP页面静态化

PHP静态化

PHP页面静态化

静态化 - 伪静态技术(PHP正则表达式实现)

线程化时访问静态地图时发生故障。

PHP 页面静态化/纯静态化/伪静态化