flush():刷新输出程序缓存for($i = 0; $i < 5; $i++){ echo str_repeat("\n", 5000); echo $i; sleep(1); flush();}ob_start(回调函数,限定长度,随时输出缓存=true):开启,前提:output_buffer = onob_clear():刷新ob_end_clear():关闭,并刷新ob_flush():输出ob_end_flush():关闭,并输出ob_get_contents:返回缓存ob_get_clean():返回缓存,并刷新ob_get_flush():返回缓存,并关闭ob_get_length():返回缓...
代码如下:** * @说明: 文件缓存输出 * @参数: $cachefile => cache文件(绝对路径) * @参数: $pertime => 缓存输出的间隔时间 * @参数: $sql => sql语句 * @参数: $templatefile => 模板文件名称(绝对路径) * www.php100.com 来自 **/ function __cache($cachefile,$pertime,$sql,$templatefile) { global $db; if(time() - @filemtime($cachefile) >= $pertime) { $query = $db->query($sql); while($r=$db->fetch($query)) { $cac...
这涉及到4种头标类型: Last-Modified(最后修改时间); Expires(有效期限); Pragma(编译指示); Cache-Control(缓存控制); 前三个头标属于HTTP1.0标准。头标Last-Modified使用UTC日期时间值。如果缓存系统发现Last-Modified值比页面缓存版本的更接 近当前时间,他就知道应该使用来自服务器的新版本。 Expires 表明了缓存版本何时应该过期(格林威治标准时间)。把它设置为一个以前的时间就会强制使用服务器上的页面。 P...
代码如下:function createHashDir($sign) { $md5 = md5($sign); if(!is_dir(MB_CACHE)) mkdir(MB_CACHE); for($i=1;$i<=4;$i++) { $dir .= $md5{$i}./; if(!is_dir(MB_CACHE.$dir)) { mkdir(MB_CACHE.$dir); } } return MB_CACHE.$dir; } function setCacheFile($data,$sign = a,$type = array,$id = ) { $cacheDir = $this -> createHashDir($sign); if(!empty($data)) { $id = $id ? $id : $sign; $cacheFile = $cacheDir.$id..p...
flush():刷新输出程序缓存for($i = 0; $i < 5; $i++){echo str_repeat("\n", 5000); echo $i; sleep(1); flush();}ob_start(回调函数,限定长度,随时输出缓存=true):开启,前提:output_buffer = onob_clear():刷新ob_end_clear():关闭,并刷新ob_flush():输出ob_end_flush():关闭,并输出ob_get_contents:返回缓存ob_get_clean():返回缓存,并刷新ob_get_flush():返回缓存,并关闭ob_get_length():返回缓存内容...
代码如下:function createHashDir($sign) { $md5 = md5($sign); if(!is_dir(MB_CACHE)) mkdir(MB_CACHE); for($i=1;$i<=4;$i++) { $dir .= $md5{$i}./; if(!is_dir(MB_CACHE.$dir)) { mkdir(MB_CACHE.$dir); } } return MB_CACHE.$dir; } function setCacheFile($data,$sign = a,$type = array,$id = ) { $cacheDir = $this -> createHashDir($sign); if(!empty($data)) { $id = $id ? $id : $sign; $cacheFile = $cacheDir.$id..p...
这里有缓存技术的简单介绍:http://www.gxlcms.com/article/4965.htm php页面缓存主要用到的是ob系列函数,如ob_start(),ob_end_flush(),ob_get_contents() 下面是编码部分。 1.初始化函数,一般是设置页面缓存路径、缓存文件命名格式等,可按个人喜好自定义。这里用到的识别ID是经加密的$_SERVER[REQUEST_URI]参数。这个函数中最后还有一个if判断:若未过缓存期,则加载缓存文件,否则加载源文件。 代码如下:functio...
ob的基本原则:如果ob缓存打开,则echo的数据首先放在ob缓存。如果是header信息,直接放在程序缓存。当页面执行到最后,会把ob缓存的数据放到程序缓存,然后依次返回给浏览器。下面我说说ob的基本作用: 1)防止在浏览器有输出之后再使用setcookie()、header()或session_start()等发送头文件的函数造成的错误。其实这样的用法少用为好,养成良好的代码习惯。 2)捕捉对一些不可获取的函数的输出,比如phpinfo()会输出一大堆的HTML,...
代码如下:** * @说明: 文件缓存输出 * @参数: $cachefile => cache文件(绝对路径) * @参数: $pertime => 缓存输出的间隔时间 * @参数: $sql => sql语句 * @参数: $templatefile => 模板文件名称(绝对路径) * www.php100.com 来自 **/ function __cache($cachefile,$pertime,$sql,$templatefile) { global $db; if(time() - @filemtime($cachefile) >= $pertime) { $query = $db->query($sql); while($r=$db->fetch($query)) { $cac...
php页面缓存ob系列函数介绍 这几天接触了phpcms的页面缓存,有些感触。其好处就不多说了,它一般是用在数据库查询较多的页面中,对于插入修改删除的页面就不大合适了php页面缓存主要用到的是ob系列函数,如ob_start(),ob_end_flush(),ob_get_contents()下面是编码部分。1.初始化函数,一般是设置页面缓存路径、缓存文件命名格式等,可按个人喜好自定义。这里用到的识别ID是经加密的$_SERVER[REQUEST_URI]参数。这个函数中最后还...
一、写结果缓存文件 /*** 写结果缓存文件** @params string $cache_name* @params string $caches** @return*/ function write_static_cache($cache_name, $caches) {if ((DEBUG_MODE & 2) == 2){return false;}$cache_file_path = ROOT_PATH . /temp/static_caches/ . $cache_name . .php;$content = "<?php\r\n";$content .= "\$data = " . var_export($caches, true) . ";\r\n";$content .= "?>";file_put_contents($cache_file...
php中header函数设置网页浏览器缓存,可以通过php语言来设置我们需要的缓存方式及时间,php的header函数提高你了很多的参数来设置一个网页的http头部信息,可以去查看下php函数header用法详解。网页的缓存是由HTTP消息头中的“Cache-control”来控制的,常见的取值有private、no-cache、max-age、must-revalidate等,默认为private。其作用根据不同的重新浏览方式分为以下几种情况:(1) 打开新窗口值为private、no-cache、must-r...
/** @title:IE缓存函数(PHP) */ iecache(); echo date("Y-m-d H:i:s");function iecache() { $_SERVER['HTTP_IF_NONE_MATCH']?header('Etag:1',true,304):header('Etag:1'); } ?>IE缓存函数将数据缓存在用户浏览器中。对于不需要及时更新的文件,可以用它加快其显示速度。 http://www.bkjia.com/PHPjc/632023.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632023.htmlTechArticle?php /** @title:IE缓存函数(PHP) */ iecache(...
页面缓存就是把页面保存到一个文件中,下次读出时直接调用文件而不查询数据库,这里我们介绍利用ob_start()来实现。 例代码如下ob_start(); //打开缓冲区 phpinfo(); //使用phpinfo函数 $info=ob_get_contents(); //得到缓冲区的内容并且赋值给$info $file=fopen(’info.txt’,’w’); //打开文件info.txt fwrite($file,$info); //写入信息到info.txt fclose($file); //关闭文件info.txt //或直接用 fil...
ob的基本原则:如果ob缓存打开,则echo的数据首先放在ob缓存。如果是header信息,直接放在程序缓存。当页面执行到最后,会把ob缓存的数据放到程序缓存,然后依次返回给浏览器。下面我说说ob的基本作用: 1)防止在浏览器有输出之后再使用setcookie()、header()或session_start()等发送头文件的函数造成的错误。其实这样的用法少用为好,养成良好的代码习惯。 2)捕捉对一些不可获取的函数的输出,比如phpinfo()会输出一大堆的HTML,...