本文主要向大家介绍了PHP语言之php实现计数器功能,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

''

/**

*

*  计数器(v1.1.0)

*

*  Version : 1.1.0

*  Author  : 村长

*  PHP     : >4.3

*

*/

class Counter

{

var $CountFolder;

var $countType;

var $showtype;

var $imgArray;

function Counter()

{

$this->countType = 0;

$this->showtype = "GetCountByDay";

$this->imgArray = array();

$this->MakeCounter();

}

function MakeCounter()

{

$this->CountFolder = "log/".date("Ymd");

if(!is_dir($this->CountFolder))

{

mkdir($this->CountFolder,0777);

}

$this->_DoCount();

}

//Save data file

function _DoCount()

{

$file = date("Ymd").ip2long($_SERVER['REMOTE_ADDR']).".txt";

if(!file_exists($this->CountFolder."/".$file))

{

$fp = @fopen($this->CountFolder."/".$file,"wb+");

//这里可以保存其他需要的日志记录

@fputs($fp,$_SERVER['REMOTE_ADDR']);

@fclose($fp);

}

}

//获得指定时间的统计数据

//默认为1天 0 为取所有

function GetCountByDay($day=1)

{

//今日的时间戳

$today = strtotime(date("Y-m-d"));

$all = 0;

for($i=$day;$i>=0;$i--)

{

$tsp = $today-(86400*$i);

$folder = "log/".date("Ymd",$tsp)."/*.txt";

$ta = glob("$folder");

$all= $all+ count($ta);

}

return $all;

}

function GetCountUseImg($day=1)

{

$allnumber = $this->GetCountByDay($day);

for($i=0;$i

{

$idx = substr($allnumber,$i,1);

$returnVal.= sprintf("",$this->imgArray[$idx]);

}

return $returnVal;

}

function SetStyle($style='',$ext="gif")

{

$imgprefix ="img/";

$folder = $imgprefix.$style;

foreach(range(0,9) as $num)

{

$this->imgArray[$num] = $folder."/".$num.".$ext";

}

if(is_dir($folder))

{

$this->showtype = "GetCountUseImg";

}

else

{

$this->showtype = "GetCountByDay";

}

}

function Show($day=0)

{

return $this->{$this->showtype}($day);

}

}

//实例计数器对象

$counter = new Counter();

//采用 sports98 样式显示,告知默认扩展名为png格式

$counter->SetStyle("sports98","png");

echo "今日访问:".$counter->Show(0);

//采用S1样式显示,默认扩展名为 gif

$counter->SetStyle("s1");

echo "近3日访问:".$counter->Show(2);

//----只显示文字的计数器

$counter->SetStyle("-");

echo "近3日访问:".$counter->Show(2);

?>

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言PHP频道!

php如何设置计数器,PHP语言之php实现计数器功能相关推荐

  1. 定时计数器c语言编程,定时计数器T0作定时应用技术(一)

    定时计数器T0作定时应用技术(一) 1. 实验任务 用AT89S51单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间,当一秒产生时,秒计数加1,秒计数到60时,自动从0开始.硬件电路如下图所 ...

  2. matlab 编辑器设置,编辑器设置,包括语言、备份和显示设置

    matlab.editor 设置 编辑器设置,包括语言.备份和显示设置 您可以使用 matlab.editor 设置自定义编辑器的视觉外观和行为.使用由 settings 函数返回的根 Setting ...

  3. vscode中文支持xp_VSCode (Visual Studio Code) V1.43.0下载并设置成中文语言的方法

    Visual Studio Code(简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持语法高亮.智能代码补全.自定义热键.括号匹配.代码片段.代码对比 Diff.GIT ...

  4. Mac设置Office的语言问题

    最近使用office时候发现了一个问题,由于电脑设置默认语言为英文.office也会自动切换为英文语言.想单独改office为中文版.找了一圈没找到方法,搜索了半天,发现很多人无法解决,要么就是修改电 ...

  5. VSCode (Visual Studio Code) V1.43.0下载并设置成中文语言

    Visual Studio Code(简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持语法高亮.智能代码补全.自定义热键.括号匹配.代码片段.代码对比 Diff.GIT ...

  6. 威纶触摸屏中如何组态设置多国语言进行切换?

    威纶触摸屏中如何组态设置多国语言进行切换? 如果我们在做一些出口的项目时,需要在触摸屏的画面中显示其他的语言,那么如何进行组态设置呢? 我们举个简单的例子来进行说明: 如下图所示,我们新建一个项目,然 ...

  7. 如何使用Sulu设置在线多语言杂志

    We previously demonstrated the proper way to get started with Sulu CMS by setting up a Hello World i ...

  8. 计算机设置定时原理,可编程定时和计数器-微计算机原理-电子发烧友网站

    第四节 可编程定时和计数器 在控制系统中,经常需要有一些实时钟以实现实时或延时控制,如定时启动,定时检测,定时通信等,计数器 对外部事件计数.实现这些要求经常有三种方法: (1)设计数字逻辑电路,用硬 ...

  9. IDEA如何设置为中文语言

    操作步骤如下: 在工具栏找到File选项,在下拉菜单中找到Settings选项,或者直接使用快捷键Ctrl+Alt+S打开设置窗口 选中Plugins(插件),在搜索框输入Chinese,然后找到Ch ...

最新文章

  1. 如何解决传输模式解决FTP连接问题
  2. mysql+在服务中无法启动_MySQL服务初始化后无法启动
  3. 由于分形导致的神经网络分类误差
  4. 【面试招聘】非科班小白上岸的学习路线
  5. 计算机专业可以报考放射医学吗吗,文科生可以报考医学影像技术专业吗
  6. Linux fork的写时复制
  7. 辽宁省计算机辅助普通话水平测试应试指南,计算机辅助普通话水平测试 应 试 指 南...
  8. 8-2-Listener监听器
  9. Mysql执行计划2
  10. 屏幕为什么要正负压供电_焦炉煤气脱硫为什么要选择负压脱硫工艺?
  11. flume学习(一):log4jAppender直接输出日志到flume的avro-source
  12. android FRAMENT的切换(解决REPLACE的低效)
  13. Eclipse快捷方式无法在桌面上打开
  14. 新手树莓派4B安装Supervised+Home Assistant及问题解决
  15. 常见的信息安全相关SCI期刊
  16. c语言windows库函数,C语言访问Windows COM组件函数
  17. Bootstrap 下拉菜单(Dropdown)插件
  18. Linux c使用gumbo库解析页面表单信息(二)
  19. 用 pc 抓取 vlan tag 的数据包
  20. 我的编程之路之初出茅庐(二)

热门文章

  1. 程序员的美:极致与疯狂
  2. Python 之父的解析器系列之五:左递归 PEG 语法
  3. LIAO的CBP页面介绍
  4. 论坛发帖系统(参考答案)
  5. 条形码的用途:1.商品条码作为商品的唯一身份标识,相当于产品在市面流通的“身份证”和“通行证”;2.产品想进入超级市场、POS商店的入场券3.商品条码也成为企业入驻网络商城的必要条件
  6. Failed to start LSB 网络服务启动失败的四种解决方法
  7. 结构方程模型(SEM)高阶应用及建模
  8. 幕墙:竣工图整理及存档管理程序
  9. 中国社科院与美国杜兰大学金融管理硕士——在熟悉的领域内深耕自己,向未来
  10. 今天公司下午放半天假,下午干什么好呢?在公司加班?去外面浪?回家睡觉?还是?