<?php
return array(
'view_filter' => array(
'Counter'
),
);在项目的Behavior目录下<?php
/**
* 计数器行为:
*
*/
class CounterBehavior extends Behavior
{
// 行为参数定义(默认值) 可在项目配置中覆盖
protected $options = array(
'Counter_ON' => true// 是否开启计数器
);
public function run(&$content)
{
if(C('Counter_ON'))
{
$file=$_SERVER['DOCUMENT_ROOT'].dirname().'/counter.txt';
$hits=intval(file_get_contents($file));
$nums=str_split($hits);
$pic="";
$imgpath=dirname().'/Public/images/counter/';
foreach ($nums as $num) {
$pic.="<img src=\"$imgpath$num.png\" alt=\"$num\" />";
}
$content = str_replace('{__Counter__}',$pic,$content);
$hits++;
if(!session('?counter'))
{
$handle=fopen($file, "w");
flock($handle, LOCK_EX+LOCK_NB);
fwrite($handle, $hits);
flock($handle, LOCK_UN+LOCK_NB);
fclose($handle);
session('counter',time());
}
}
else
{
$content = str_replace('{__Counter__}','',$content);
}
}
}然后在需要使用计数器的模板文件里加上{__Counter__}即可附件 counter.zip ( 148.97 KB 下载:175 次 )
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。