简单的页面缓冲技术(二)

zhangubl72

zhangubl72

2016-01-29 15:20

简单的页面缓冲技术(二),简单的页面缓冲技术(二)
       · limodou·转载PHP中文用户
  
  我的具体实现的例子
    为了帮助大家有个感性认识,这里我给出在我的主页上实现的基于文件处理的方法。只有主要的处理代码,不完整。
  <?
  1 $tmpfile="../tmp/".basename($REQUEST_URI);
  2 $tmpfile=str_replace("?", "_", $tmpfile);
  3 $tmpfile=str_replace("&", "_", $tmpfile);
  4 if(file_exists($tmpfile))
  5 {
  6 $cflag=false;
  7 $dtmp=filemtime($tmpfile);
  8 $itmp=filemtime($incfile);
  9 $cflag=$cflag | ($dtmp < $itmp);
  10 $ctmp=filemtime(basename($PHP_SELF));
  11 $cflag=$cflag | ($dtmp < $ctmp);
  12 $ttmp=filemtime("template/content.ihtml");
  13 $cflag=$cflag | ($dtmp < $ttmp);
  14 }
  15 else
  16 $cflag=true;
  17
  18 if(!$cflag) //使用存在的文件
  19 {
  20 readfile($tmpfile);
  21 exit;
  22 }
  23
  24 //创建新的文件
  25 include "template.class.php3";
  26
  27 $fp=fopen($incfile, "r");
  28 $content=fread($fp, filesize($incfile));
  29 fclose($fp);
  30
  31 //下面进行模版处理
  32 $t = new Template("template", "keep");
  33
  34 $t->set_file("contentfile","content.ihtml");
  35
  36 $t->set_var(
  37 array(
  38 "content"=>$content
  39 ));
  40
  41 $t->parse("outputcontent","contentfile");
  42
  43 $fp=fopen($tmpfile, "w");
  44 if($fp)
  45 {
  46 flock($fp, 3);
  47 fwrite($fp, $t->get_var("outputcontent"));
  48 flock($fp, 1);
  49 fclose($fp);
  50 }
  51 $t->p("outputcontent");
  ?>
    先向大家介绍一下我的目录结构:
    /---bin/ 执行程序目录
    | |--content.php3 用于处理文件显示的程序
     | |--template/ 用于存放模板文件的目录
     | |---content.ihtml 模板文件
     |-docs/ 数据文件
     |-tmp/ 存放缓冲文件
  

 
展开更多 50%)
分享

猜你喜欢

简单的页面缓冲技术(二)

PHP
简单的页面缓冲技术(二)

简单的页面缓冲技术

PHP
简单的页面缓冲技术

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

简单的页面缓冲技术(一)

PHP
简单的页面缓冲技术(一)

简单的页面缓冲技术(三)

PHP
简单的页面缓冲技术(三)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

使用双缓冲技术绘制曲线图

编程语言 网络编程
使用双缓冲技术绘制曲线图

采用 PEAR 来缓冲 PHP 程序(二)

PHP
采用 PEAR 来缓冲 PHP 程序(二)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《我叫MT》公会商店隐藏的秘密

《我叫MT》公会商店隐藏的秘密

简单的页面缓冲技术(一)

简单的页面缓冲技术(一)
下拉加载更多内容 ↓