首页 > php教程 > php手册 > TP行为简单例子--防刷新计数器

TP行为简单例子--防刷新计数器

WBOY
发布: 2016-06-07 11:44:55
原创
1680 人浏览过

花了一段时间,总算理解了TP行为的概念,写了一个简单的防刷新的计数器,有什么不足之处,欢迎大家指正。
首先配置项目的Conf文件夹下的tags.php文件<?php <br /> return array(<br>     'view_filter'   =>  array(<br>         'Counter'<br>     ),<br>    <br> );在项目的Behavior目录下
建立CounterBehavior.class.php文件<?php <br /> /**<br>  * 计数器行为:<br>  * <br>  */<br> class CounterBehavior extends Behavior <br> {<br>     // 行为参数定义(默认值) 可在项目配置中覆盖<br>     protected $options   =  array(<br>         'Counter_ON'       => true// 是否开启计数器<br>         );<br>     public function run(&$content)<br>     {<br>         if(C('Counter_ON'))<br>         {<br>             $file=$_SERVER['DOCUMENT_ROOT'].dirname().'/counter.txt';<br>             $hits=intval(file_get_contents($file));<br>             $nums=str_split($hits);<br>             $pic="";<br>             $imgpath=dirname().'/Public/images/counter/';<br>             foreach ($nums as $num) {<br>                 $pic.="<img alt="TP行为简单例子--防刷新计数器" >";<br>             }<br>             $content = str_replace('{__Counter__}',$pic,$content);<br>             $hits++;<br>             if(!session('?counter'))<br>             {<br>                 $handle=fopen($file, "w");<br>                 flock($handle, LOCK_EX+LOCK_NB);<br>                 fwrite($handle, $hits);<br>                 flock($handle, LOCK_UN+LOCK_NB);<br>                 fclose($handle);<br>                 session('counter',time());<br>             }<br>         }<br>         else<br>         {<br>             $content = str_replace('{__Counter__}','',$content);<br>         }<br>     }<br> }然后在需要使用计数器的模板文件里加上{__Counter__}即可

附件 counter.zip ( 148.97 KB 下载:154 次 )

AD:真正免费,域名+虚机+企业邮箱=0元

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板