PHP浏览次数统计类visit.class.php配合文本缓存
使用示例:
$visit = app::loader('visit');
$article_id = 20722;
$visit->count('article', $article);
<?php class visit { public $expires = array(); public $tables = array(); public function __construct() { $this->expires['article'] = 10; $this->tables['article'] = 'pcb_article'; $this->expires['forum'] = 9; $this->tables['forum'] = 'pcb_forum'; $this->expires['blog'] = 8; $this->tables['blog'] = 'pcb_blog'; } public function count($channel, $id) { $path = $this->get_cache_path($channel); $this->update($path, $channel, $id); } private function get_cache_expires($channel) { $expires = isset($this->expires[$channel]) ? $this->expires[$channel] : 10; return $expires; } private function get_cache_path($channel) { $time = time(); $minute = date('H', $time) * 60 + date('i', $time); $expires = $this->get_cache_expires($channel); $path = SYS_PATH ."/data/cache/visit/{$channel}". ceil($minute / $expires) .".txt"; return $path; } private function update($path, $channel, $id) { $dir = dirname($path); if (!file_exists($dir)) make_dir($dir); if (file_exists($path)) { file_put_contents($path, ',' . $id, FILE_APPEND|LOCK_EX); } else { $table = $this->tables[$channel]; $mysql = app::loader('mysql'); $hand = opendir($dir); while (($file = readdir($hand))) { if (preg_match("/{$channel}/", $file)) { $visit = file_get_contents("{$dir}/{$file}"); $array = explode(',', $visit); $array = array_count_values($array); unset($array['']); $sql = ''; foreach ($array as $id => $visit) { $sql .="UPDATE `{$table}` SET `visit` = `visit` + {$visit} WHERE `id` = {$id} LIMIT 1;"; } if ($sql) { $res = $mysql->executes($sql); if ($res) unlink($dir . '/' . $file); } unset($sql); } } file_put_contents($path, ',' . $id, LOCK_EX); } } }
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
刺客信条阴影:贝壳谜语解决方案
1 周前
By DDD
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
在哪里可以找到原子中的起重机控制钥匙卡
1 周前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)
