• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

php页面静态化的处理(2)静态化的实现原理

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.buffer

buffer 其实就是缓冲区,一个内存地址空间,主要用于存储数据。他是内存中的一个区域

文件内容的保存过程:
先把内容写到操作系统的buffer,但buffer写满了后就写入到磁盘中保存

php的输出内容的过程,phpbuffer可以开启和关闭

echo 1
输出流程:内容-phpbuffer-tcp-终端

所以phpbuffer是很重要的

2.phpbuffer的支持

2.1 打开缓冲区

  1. php.ini 5.4 默认开启
  2. 如果没有开始也可以是是用ob_start()手动开启缓冲区

2.2获取缓冲区的内容

echo ob_get_contents();

获取内容一定要在 输出之后获取,不可以在输出之前获取

// ob_start();

echo $str="1234566"; //如果没有输出,ob_get_contents();获取不掉值

echo "<br/>";

echo ob_get_contents();


// echo $str;


3. php 实现静态化原理

获取缓冲区的内容,写入文件

3.1实现的基本方式

  1. file_put_contents()函数
  2. 使用php内置的缓存机制实现页面的静态化 -output_buffering

3.2 ob函数

  1. ob_start 打开输出控制缓冲
  2. ob_get_contents 返回输出缓冲区内容
  3. ob_clean 清空(擦掉)输出缓冲区
  4. ob_get_clean 得到当前缓冲区的内容并删除当前输出缓冲区

dmeo

file_get_contents(\'index.html\',ob_get_clean())
获取缓冲的内容,写入文件

4.php纯静态页面生成的实现

生成页面文件保存到磁盘上

缓冲区前面必须有输出语句

  1. 查询数据库
  2. 组装动态文件
  3. 将动态文件生成静态文件(获取缓冲区内容,写入文件)

5. 触发系统生成静态文件的方式

  1. 页面加缓存时间
  2. 手动触发
  3. 使用linux的定时任务crontab

5.1使用缓存时间


file_get_contents(\'index.html\',ob_get_clean())

if(is_file(\'index.html\')&&(time()-filemtime(\'index.html\')<300)){

	require_once(\'index.html\')
}else{

	
}


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
php解析json数组 - 小新新2015发布时间:2022-07-10
下一篇:
阿里云ECSUbuntu安装PHP+Mysql+Apache+Nginx+Redis+Discuz发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap