分类:
2008-05-13 21:18:07
1 $tmpfile="../tmp/".($REQUEST_URI);
2 $tmpfile=("?", "_", $tmpfile);
3 $tmpfile=("&", "_", $tmpfile);
4 if(($tmpfile))
5 {
6 $cflag=false;
7 $dtmp=($tmpfile);
8 $itmp=($incfile);
9 $cflag=$cflag | ($dtmp < $itmp);
10 $ctmp=(($PHP_SELF));
11 $cflag=$cflag | ($dtmp < $ctmp);
12 $ttmp=("template/content.ihtml");
13 $cflag=$cflag | ($dtmp < $ttmp);
14 }
15 else
16 $cflag=true;
17
18 if(!$cflag) //使用存在的文件
19 {
20 ($tmpfile);
21 exit;
22 }
23
24 //创建新的文件
25 include "template.class.php3";
26
27 $fp=($incfile, "r");
28 $content=($fp, ($incfile));
29 ($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=($tmpfile, "w");
44 if($fp)
45 {
46 ($fp, 3);
47 ($fp, $t->get_var("outputcontent"));
48 ($fp, 1);
49 ($fp);
50 }
51 $t->p("outputcontent");
?>
---------------------------------------------------------------------- ---------- 先向大家介绍一下我的目录结构: /---bin/ 执行程序目录 | |--content.php3 用于处理文件显示的程序 | |--template/ 用于存放模板文件的目录 | |---content.ihtml 模板文件 |-docs/ 数据文件 |-tmp/ 存放缓冲文件 content.php3文件用来处理动态页面。用户可以通过content.php3?page=id 号来读出一个数据文件。具体方法我就不说了,大家只要知道每个数据文件都有 一个不同的id号,这样content.php3?page=id号的方式就可以唯一标识一个数据 文件。 第1-3行,生成临时文件名。将'?','&'等字符替换成'_'。 第4行,判断临时文件名是否存在,如果有则执行第18-22行,并结束。 第6-13行,判断与生成动态页面有关的文件修改时间与临时文件哪个更新,设置 重新生成标志。在这里使用filemtime()来得到最后修改时间。 第24-41行,利用模板类生成动态结果,放在变量中。关于模板的处理可以参考《 模板,PHPLIB处理方式》一文。 第43-50行,生成临时文件。此处对文件进行了加锁处理,以象写冲突。 第51行,输出结果。 这就是我的处理,大家可以自行修改。 缓冲是一项有意义的技术,可以提高访问速度,减少系统消耗。不过方法可 能有多种多样,大家可以自由发挥。