仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 953|回复: 18
打印 上一主题 下一主题

[学习教程] PHP编程:发一个PHP缓存类的道理

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:38:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我想在讲述自己的学习方式前,对那些期望能从我的文章中获得有用信息的人说一句心里话:     <?php
define('CACHE_ROOT', dirname(__FILE__).'/cache'); //缓存寄存目次 define('CACHE_TIME', 1800);//缓存工夫 单元秒 define('CACHE_FIX','.html'); $CacheName=md5($_SERVER['REQUEST_URI']).CACHE_FIX; //缓存文件名 $CacheDir=CACHE_ROOT.'/'.substr($CacheName,0,1);//缓存文件寄存目次 $CacheUrl=$CacheDir.'/'.$CacheName;//缓存文件的完全途径 //GET体例恳求才缓存,POST以后普通都但愿看到最新的了局  if($_SERVER['REQUEST_METHOD']=='GET'){   //假如缓存文件存在,而且没有过时,就把它读出来。   if(file_exists($CacheName) && time()-filemtime($CacheName)<CACHE_TIME){      $fp=fopen($CacheName,'rb');      fpassthru($fp);      fclose($fp);      exit;    }   //判别文件夹是不是存在,不存在则创立   elseif(!file_exists($CacheDir)){      if(!file_exists(CACHE_ROOT)){        mkdir(CACHE_ROOT,0777);        chmod(CACHE_ROOT,0777);      }      mkdir($CacheDir,0777);      chmod($CacheDir,0777);    }   //回调函数,当法式停止时主动挪用此函数    function AutoCache($contents){      global $CacheUrl;      $fp=fopen($CacheUrl,'wb');      fwrite($fp,$contents);      fclose($fp);      chmod($CacheUrl,0777);      //生成新缓存的同时,主动删除一切的老缓存,以勤俭空间,可疏忽。      //DelOldCache();     return $contents;   }   function DelOldCache(){      chdir(CACHE_ROOT);      foreach (glob("*/*".CACHE_FIX) as $file){        if(time()-filemtime($file)>CACHE_TIME)unlink($file);     }   }   //回调函数 auto_cache    ob_start('AutoCache'); }else{    //不是GET的恳求就删除缓存文件。    if(file_exists($CacheUrl))unlink($CacheUrl);  } ?> <P style="TEXT-INDENT: 2em">
我假设你目前已经可以完成一个静态页面了,当然,做的好看难看是另外一说,皮皮我的第一个网页也没好看到哪去,但是“孩子”再丑,咱们做“爹妈”的也不能嫌弃不是?这毕竟是咱的成果。
若天明 该用户已被删除
沙发
发表于 2015-2-4 04:30:10 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
第二个灵魂 该用户已被删除
板凳
发表于 2015-2-7 20:58:24 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
柔情似水 该用户已被删除
地板
发表于 2015-2-13 12:03:37 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
小魔女 该用户已被删除
5#
发表于 2015-2-23 16:50:41 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
变相怪杰 该用户已被删除
6#
发表于 2015-3-2 22:25:06 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
深爱那片海 该用户已被删除
7#
发表于 2015-3-9 14:22:32 | 只看该作者
爱上php,他也会爱上你。
飘灵儿 该用户已被删除
8#
发表于 2015-3-18 01:48:31 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
再现理想 该用户已被删除
9#
发表于 2015-3-22 02:09:06 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
灵魂腐蚀 该用户已被删除
10#
发表于 2015-4-1 18:08:45 | 只看该作者
爱上php,他也会爱上你。
冷月葬花魂 该用户已被删除
11#
发表于 2015-4-6 19:11:25 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
莫相离 该用户已被删除
12#
发表于 2015-4-12 14:52:54 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
山那边是海 该用户已被删除
13#
 楼主| 发表于 2015-4-24 20:30:48 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
金色的骷髅 该用户已被删除
14#
发表于 2015-4-26 06:53:15 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
爱飞 该用户已被删除
15#
发表于 2015-4-28 09:51:37 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
兰色精灵 该用户已被删除
16#
发表于 2015-5-4 08:24:32 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
老尸 该用户已被删除
17#
发表于 2015-6-4 12:35:09 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
愤怒的大鸟 该用户已被删除
18#
发表于 2015-6-5 14:09:35 | 只看该作者
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
19#
发表于 2015-6-15 06:17:42 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 23:05

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表