php中静态缓存 与 Linux中静态 缓存

PHP 中的静态缓存 

  1.需要使用 ob 系列的函数;              

                                                                ob   系列函数中常用函数集锦

代码如下:

ob_start();            //打开一个输出缓冲区,所有的输出信息不再直接发送到浏览器,而是保存在输出缓冲区里面。

ob_clean();            //删除内部缓冲区的内容,不关闭缓冲区(不输出)。
ob_end_clean();        //删除内部缓冲区的内容,关闭缓冲区(不输出)。
ob_get_clean();        //返回内部缓冲区的内容,关闭缓冲区。相当于执行 ob_get_contents() and ob_end_clean()
ob_flush();            //发送内部缓冲区的内容到浏览器,删除缓冲区的内容,不关闭缓冲区。
ob_end_flush();        //发送内部缓冲区的内容到浏览器,删除缓冲区的内容,关闭缓冲区。
ob_get_flush();        //返回内部缓冲区的内容,并关闭缓冲区,再释放缓冲区的内容。相当于ob_end_flush()并返回缓冲区内容。
flush();               //将ob_flush释放出来的内容,以及不在PHP缓冲区中的内容,全部输出至浏览器;刷新内部缓冲区的内容,并输出。

ob_get_contents();     //返回缓冲区的内容,不输出。
ob_get_length();       //返回内部缓冲区的长度,如果缓冲区未被激活,该函数返回FALSE。
ob_get_level();        //Return the nesting level of the output buffering mechanism.
ob_get_status();       //Get status of output buffers.

ob_implicit_flush();   //打开或关闭绝对刷新,默认为关闭,打开后ob_implicit_flush(true),所谓绝对刷新,即当有输出语句(e.g: echo)被执行时,便把输出直接发送到浏览器,而不再需要调用flush()或等到脚本结束时才输出。

ob_gzhandler               //ob_start回调函数,用gzip压缩缓冲区的内容。
ob_list_handlers           //List all output handlers in use
output_add_rewrite_var     //Add URL rewriter values
output_reset_rewrite_vars  //Reset URL rewriter values

这些函数的行为受php_ini设置的影响:
output_buffering       //该值为ON时,将在所有脚本中使用输出控制;若该值为一个数字,则代表缓冲区的最大字节限制,当缓存内容达到该上限时将会自动向浏览器输出当前的缓冲区里的内容。
output_handler         //该选项可将脚本所有的输出,重定向到一个函数。例如,将 output_handler 设置为 mb_output_handler() 时,字符的编码将被修改为指定的编码。设置的任何处理函数,将自动的处理输出缓冲。
implicit_flush         //作用同ob_implicit_flush,默认为Off。


2.    需要   fopen 开启   fwrite  写入  fclose 关闭 

3.          

打开模式说明
r只读,并将文件指针指向文件开始位置
r+读写,将文件指针指向文件开始位置
w只写,将文件指针指向文件开始位置并将文件内容清空,如果文件不存在则尝试创建之
w+读写,将文件指针指向文件开始位置并将文件内容清空,如果文件不存在则尝试创建之
a追加,将文件指针指向文件末尾来操作,如果文件不存在则尝试创建之
a+读写追加,将文件指针指向文件末尾来操作,如果文件不存在则尝试创建之
x只写,并创建文件,如果文件已存在,则 fopen() 调用失败并返回 FALSE
x+读写,并创建文件,如果文件已存在,则 fopen() 调用失败并返回 FALSE

代码展示

<?php
$file_name = './cache/test.php';    // 缓存文件
$expire_time = 10;  // 过期时间(秒)
//判断:文件不存或者过期了  
if(!file_exists($file_name) || (filemtime($file_name)+$expire_time)<time())
//if(!file_exists($file_name) || time()-filemtime($file_name) > $expire_time)
){  
{
    //缓存页面代码
    ob_start();
    //用来获取页面缓存中的内容
    $file = ob_get_contents();
    echo '我是正常的内容,这里可以写页面,请求数据库的信息';

    //将获取到的内容存放到缓存文件
  1.  $f_file = fopen("$file_name","w"or die("Unable to open file!");  
  2.         fwrite($f_file,$file);  
  3.         fclose($f_file);

//清掉内存缓存 ob_flush(); echo '我是缓存之外的内容'; 

//测试是否调用了缓存文件,缓存文件不输出这句话

}else

     echo '你现在看到的是缓存文件<br />'

     include($file_name); //如果存在,调用缓存文件}


linux 中的静态缓存  

linux 中   需要  开启   权限   \html   

    在Linux中,权限的所有者分为用户权限,组权限和其他权限

     权限分为:读 r , 写 w , 执行 x.

    权限都可以用数字来表示:r 4, w 2 , x 1, 

    代码如下:

            chmod -R 777 某文件夹/文件.


阅读更多
文章标签: linux php
个人分类: Linux随笔 学习笔记
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

php中静态缓存 与 Linux中静态 缓存

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭