仓酷云
标题:
PHP网站制作之复杂的页面缓冲手艺(二)
[打印本页]
作者:
柔情似水
时间:
2015-2-4 00:20
标题:
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/ 寄存缓冲文件
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行,输入了局。
这就是我的处置,人人可以自行修正。
缓冲是一项成心义的手艺,可以进步会见速度,削减体系损耗。不外办法能够有多种多样,人人可以自在发扬。
本站注:看了这篇文章,竟发明本文作者的思绪和本站的静态文章更新的完成道理是一样的。分歧的是,本站的文章是每四天按期更新的。假如有乐趣的伴侣可以经由过程页面下方的"view source"链接来检查详细完成的代码。假如有甚么疑问亲睦的思惟,接待到服装论坛配合会商。
终于学会把表单的数据插入数据库,然后显示出来了,应该说一个程序的雏形已经诞生了。
作者:
小女巫
时间:
2015-2-4 11:54
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者:
分手快乐
时间:
2015-2-9 22:26
实践是检验自己会不会的真理。
作者:
灵魂腐蚀
时间:
2015-2-24 05:49
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者:
兰色精灵
时间:
2015-3-6 00:09
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者:
变相怪杰
时间:
2015-3-10 12:49
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
作者:
精灵巫婆
时间:
2015-3-10 16:01
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
作者:
冷月葬花魂
时间:
2015-3-11 02:29
写的比较杂,因为我也是个新手,不当至于大家多多指正。
作者:
admin
时间:
2015-3-17 19:08
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
作者:
透明
时间:
2015-4-1 09:09
兴趣是最好的老师,百度是最好的词典。
作者:
飘灵儿
时间:
2015-4-5 11:09
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线 \\\\\\\'_\\\\\\\' ;
作者:
谁可相欹
时间:
2015-4-8 17:25
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
作者:
柔情似水
时间:
2015-4-13 15:25
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
作者:
第二个灵魂
时间:
2015-4-13 22:42
实践是检验自己会不会的真理。
作者:
小魔女
时间:
2015-4-15 13:31
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
作者:
简单生活
时间:
2015-4-22 08:46
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
作者:
活着的死人
时间:
2015-4-28 19:46
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
作者:
因胸联盟
时间:
2015-5-6 17:12
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
作者:
爱飞
时间:
2015-5-6 19:25
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2