oneboi

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{

	
}

分类:

技术点:

相关文章:

  • 2021-06-08
  • 2021-11-29
  • 2022-02-08
  • 2022-01-07
  • 2022-01-05
  • 2022-02-18
猜你喜欢
  • 2022-01-20
  • 2022-01-01
  • 2021-11-28
  • 2022-01-25
  • 2022-02-07
相关资源
相似解决方案