真静态缓存:(真的生成一个html页面,在接下来的操作中直接调用该html)
第一次(刷新网页面)判断是否存在缓存文件 (可设置一时间)
如果不存在 第一次是(可根据PDO)连接数据库 查找数据 输出到页面 并且同时缓存(写入)到本地一个.html文件;
再次(刷新网页面) 判断是否存有该缓存文件时
当存在缓存文件,直接查找本地缓存(file_get_content) 读取出来
以下代码在ci框架中编写完成
<code><span>$time</span> = <span>10</span>; <span>//设置缓存页面过期时间</span><span>if</span>(!is_file(<span>"obtest.html"</span>) || time()-filemtime(<span>"obtest.html"</span>)><span>$time</span>){ ob_start(); <span>//打开缓冲区 </span><span>$arr</span>[<span>'res'</span>]=<span>$this</span>->db->get(<span>'user'</span>)->result_array(); <span>$this</span>->load->view(<span>'welcome_message'</span>,<span>$arr</span>); <span>//print_r($arr);</span><span>$info</span> = ob_get_contents(); <span>//得到缓冲区的内容并且赋值给$info </span><span>$file</span> = <span>fopen</span>(<span>'obtest.html'</span>, <span>'w'</span>); <span>//打开文件info.txt </span><span>fwrite</span>(<span>$file</span>, <span>$info</span>); <span>//写入信息到info.txt </span><span>fclose</span>(<span>$file</span>); <span>//关闭文件info.txt</span> }<span>else</span>{ echo <span>"cache:"</span>; echo file_get_contents(<span>"obtest.html"</span>); } </code>
fopen 和 filemtime 方法的使用:
<code><span><span>fopen</span><span>()</span> 函数打开文件或者 URL。<span>fopen</span>(文件名称,文件访问类型)<span>w</span>写入方式打开。 <span>filemtime</span><span>()</span> 函数返回文件内容上次的修改时间,里面跟文件名。</span></code>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });
以上就介绍了php真静态缓存 ob系统函数,包括了php,函数方面的内容,希望对PHP教程有兴趣的朋友有所帮助。