什么是真静态???
纯静态:
将PHP程序生成静态的HTML文件,保存到服务器的磁盘中。 原理: 在用户访问PHP程序时,首先检测静态的HTML文件是否存在,如果存在直接输出静态文件,如果静态文件不存在,查询数据库,生成静态文件,并输出。 优势: 减少PHP程序编译和对数据库的查询。 数据缓冲区: 数据缓冲区是用户前端用来存储、操纵数据的对象。 通过输出控制函数实现纯静态化。
真静态优缺点:
优点
html静态页
1、减少服务器对数据响应的负荷
2、加载不用调动数据库,响应速度快
3、便于优化引擎
缺点:
1、维护不方便,每次都要手动生成
2、空间占用比较大
3、生成文件多了,服务器对htnl文件的响应负担也比较重
我们知道使用PHP进行网站开发,一般执行结果直接输出到游览器,为了使用PHP生成静态页面,就需要使用输出控制函数控制缓存区,以便获取缓存区的内容,然后再输出到静态HTML页面文件中以实现网站静态化。
php生成静态页面的思路:
首先开启缓存,然后输出了HTML美容(你也可以通过include将Html内容以文件形式包含进来),之后获取缓存中的内容,清空缓存后通过PHP文件读取写函数将缓存内容写入到静态HTNL页面中。PHP文件读写教程?
获得输出的缓存内容以生成静态HTMl页面的过程需要三个函数:
ob_stsrt();
ob_get_conntents();
ob_end_clean();
知识点:
1、ob_start()函数一般主要是用来开启缓存,注意使用ob_start之前不能有任何输出,如空格、字符等。
2、ob_get_contents函数主要用来获取缓存中的内容以字符串形式返回,注意此函数必须在ob_end_clean函数之前调用,否则获取不到缓存内容。
录入fopen,fwrite,fclose(file_put_contents)。
3、ob_end_clean函数主要是清空缓存中的内容并关闭缓存,成功则返回True,失败则返回False
ob_end_flush: 发送内部缓冲区的内容到浏览器,并且关闭输出缓冲区
函数格式:void ob_end_flush(void)
说明:这个函数发送输出缓冲区的内容(如果有的话)
PHP输出控制函数(Output Control)有很多应用,今后将陆续展开。
至此,使用PHP生成静态HTML页面以实现网站静态化的方法就介绍完了,根据实际情况和需求你可以选择不同的静态化方法。
如果是局部缓存怎么办?
答:采用ajax方式获取动态的数据。