<?php
error_reporting(E_ALL);
$ROOT_PATH = '../';
include_once($ROOT_PATH . "include/config.php");
$update_time = 1800;//多长时间更新一次,单位是秒
$article_id = (isset($_GET['article_id']) && is_numeric($_GET['article_id']) && $_GET['article_id'] > 0) ? intval($_GET['article_id']) : 0;//文章的ID
if ($article_id > 0) {
$filename = $ROOT_PATH . 'log/click_log.txt';
$s = '';
if (file_exists($filename)) {
$content = file_get_contents($filename);
$d_ary = array();
if ($content) {
$ary = explode("/n", $content);
foreach ($ary as $line) {
$data_ary = explode('|', $line);
if (is_numeric($data_ary[0]) && is_numeric($data_ary[1])) {
$d_ary[$data_ary[0]] = $data_ary[1];
}
}
}
if (array_key_exists($article_id, $d_ary)) {
$d_ary[$article_id] = $d_ary[$article_id]+1;//将当前的文章的点击数加1
} else {
$d_ary[$article_id] = 1;
}
foreach ($d_ary as $key => $val) {
$s .= $key . '|' . $val . "/n";
}
} else {
$s .= $article_id . '|1' . "/n";//这个是初始化记录文件
}
//写记录文件
$fp = fopen($filename, "w");
//加入锁定
if (flock($fp, LOCK_EX)) { // 进行排它型锁定
fwrite($fp, $s);
flock($fp, LOCK_UN); // 释放锁定
}
//fwrite($fp, $s);
fclose($fp);
@chmod($filename, 0777);
$last_update = file_get_contents('../log/last_update.txt');//取上一次更新的时间
$last_update = intval($last_update);
if (($last_update + $update_time) < time()) {
//以下是数据库连接操作,我用的是ADODB,你可以改成你自己的
require_once("adodb.inc.php");
$db = NewADOConnection("$DB_TYPE");
$db->debug = true;
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
if (!$db->Connect("$DB_HOST", "$DB_USER", "$DB_PASS", "$DB_DATABASE")) {
exit('<a href="/">服务器忙,请稍候再访问</a>');
}
$content = file_get_contents($filename);
$d_ary = array();
if ($content) {
$ary = explode("/n", $content);
foreach ($ary as $line) {
$data_ary = explode('|', $line);
if (is_numeric($data_ary[0]) && is_numeric($data_ary[1])) {
$sql = "UPDATE article SET hits=hits+" . $data_ary[1] . " WHERE id=" . $data_ary[0];
$db->Execute($sql);
}
}
}
//点击数更新完了,将这个记录文件清空
$fp = fopen($filename, "w");
fwrite($fp, '');
fclose($fp);
@chmod($filename, 0777);
//将最后一次更新时间改为当前时间
$fp = fopen('../log/last_update.txt', "w");
fwrite($fp, time());
fclose($fp);
@chmod('../log/last_update.txt', 0777);
$db->Close();//关闭数据库连接
}
exit();
}
?>
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=2157506
分享到:
相关推荐
WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB...
优化程序管理,显示程序名称,数据统计 修复创建程序后创建时间不显示问题 更新卡密状态,类型,使用天数,名称的显示 更新API返回信息同步后台授权返回设置项 修复授权验证不存在问题 修复后台首页报错问题 修复...
更新 竞拍列表增加一个简单的统计,用于显示金币消耗和唯一用户参与数 更新 反馈模块调用代码支持"对齐方式"和"颜色样式"选择,感谢 兰州论坛 提供建议 更新 专题头尾 API 支持直接预览,方便查看实际效果 更新 ...
优化程序管理,显示程序名称,数据统计 修复创建程序后创建时间不显示问题 更新卡密状态,类型,使用天数,名称的显示 更新API返回信息同步后台授权返回设置项 修复授权验证不存在问题 修复后台首页报错问题 ...
apk反编译教程:MT管理器找到前端apk,查看-点击后缀dex文件-dex编辑器++全选-搜索-发起新搜索/搜索类型-代码/查找内容 搜索域名 然后确定-点击第一个结果进去把域名改为自己后台域名,上面几个是友盟统计和信天翁,...
apk反编译教程:MT管理器找到前端apk,查看-点击后缀dex文件-dex编辑器++全选-搜索-发起新搜索/搜索类型-代码/查找内容 搜索域名 然后确定-点击第一个结果进去把域名改为自己后台域名,上面几个是友盟统计和信天翁,...
apk反编译教程:MT管理器找到前端apk,查看-点击后缀dex文件-dex编辑器++全选-搜索-发起新搜索/搜索类型-代码/查找内容 搜索域名 然后确定-点击第一个结果进去把域名改为自己后台域名,上面几个是友盟统计和信天翁,...
apk反编译教程:MT管理器找到前端apk,查看-点击后缀dex文件-dex编辑器++全选-搜索-发起新搜索/搜索类型-代码/查找内容 搜索域名 然后确定-点击第一个结果进去把域名改为自己后台域名,上面几个是友盟统计和信天翁,...
apk反编译教程:MT管理器找到前端apk,查看-点击后缀dex文件-dex编辑器++全选-搜索-发起新搜索/搜索类型-代码/查找内容 搜索域名 然后确定-点击第一个结果进去把域名改为自己后台域名,上面几个是友盟统计和信天翁,...
由于原站社会化分享数量需要调用高级API,为保证通用性已更改为文章点击量,须先安装WP-PostViews统计插件 安装要求: 1.WP程序需安装在一级目录里,否则可能会造成站内某些图片无法正常显示 2.需开启固定链接...
[系统优化]优化 点击数延迟更新及内存机制规划 X系统错误日志,增加去重以及程序追踪信息新增 社区系统未知漏洞防御体系优化 安装程序,降低内存占用优化 模块模板中的语法改进优化 各页面标题的seo优化和重建,门户...
【修复】用户APP端未记录广告点击数的bug。【修复】修复app端余额支付页提示“未设置支付密码”的bug。【修复】修复没有设置经销商推广提示语,生成二维码报错。商淘云B2B2C多用户商城系统 v3.6.5更新日志本次版本...
28、幻灯功能优化:优化了后台管理界面,排序不再需要手动点击保存排序按钮 29、解决通过之前评论时,留言也会被通过的bug 30、后台删除主题或者回帖的时候添加确认提示 31、前台主题的维护选项增加转移功能 32、...
站点配置 网站名称、网站域名、站长联系信息、备案信息、统计代码等基本信息 淘客配置 淘宝账号、淘客PID、App Key、App Secret设置,支持App Key轮换功能 高级参数 网站的一些高级功能开启关闭及设置 热门搜索 ...
(11)自助置顶:分类信息可限时分类置顶以及首页置顶,并扣除相应金币,会员可自行操作,扣除的金币数也可在后台设置。 (12)地图标注:整合地图标注接口设置(包括 baidu,51ditu,google地图)。 (13)广告...
WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB...
9、记录产品点击数,方便了解客户关注哪个产品; 10、产品可排序,方便调整排列顺序; 11、删除产品同时删除产品静态页面文件及产品图片,节省网站空间; 12、可自定义产品页面title,keywords,description等SEO...
2、前端模板代码编写过细并颠末谨严的测试,兼容各年夜阅读器:针对时下游行阅读器举行优化,IE、Chrome、Safari、FireFox、360,Opera一个也不落下。 3、相应式结构,自顺应电脑、手机、平板等拜候终端; 4、前端...
(11)自助置顶:分类信息可限时分类置顶以及首页置顶,并扣除相应金币,会员可自行操作,扣除的金币数也可在后台设置。 (12)地图标注:整合地图标注接口设置(包括 baidu,51ditu,google地图)。 (13)广告...