`
sxysxy
  • 浏览: 218078 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

PHP优化的点击数统计代码

 
阅读更多
<?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


分享到:
评论

相关推荐

    JAVA上百实例源码以及开源项目源代码

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    源授权V1.5.2版本-打造更专业的PHP域名授权系统

    优化程序管理,显示程序名称,数据统计 修复创建程序后创建时间不显示问题 更新卡密状态,类型,使用天数,名称的显示 更新API返回信息同步后台授权返回设置项 修复授权验证不存在问题 修复后台首页报错问题 修复...

    VeryIDE Bee 互动营销**台 v1.5 UTF-8.rar

    更新 竞拍列表增加一个简单的统计,用于显示金币消耗和唯一用户参与数 更新 反馈模块调用代码支持"对齐方式"和"颜色样式"选择,感谢 兰州论坛 提供建议 更新 专题头尾 API 支持直接预览,方便查看实际效果 更新 ...

    源授权V1.5.2版本-打造更专业的PHP域名授权系统.zip

    优化程序管理,显示程序名称,数据统计 修复创建程序后创建时间不显示问题 更新卡密状态,类型,使用天数,名称的显示 更新API返回信息同步后台授权返回设置项 修复授权验证不存在问题 修复后台首页报错问题 ...

    绿豆影视系统5.1.8反编译版源码:PC+wap+app端

    apk反编译教程:MT管理器找到前端apk,查看-点击后缀dex文件-dex编辑器++全选-搜索-发起新搜索/搜索类型-代码/查找内容 搜索域名 然后确定-点击第一个结果进去把域名改为自己后台域名,上面几个是友盟统计和信天翁,...

    绿豆影视系统5.1.8反编译版源码.zip

    apk反编译教程:MT管理器找到前端apk,查看-点击后缀dex文件-dex编辑器++全选-搜索-发起新搜索/搜索类型-代码/查找内容 搜索域名 然后确定-点击第一个结果进去把域名改为自己后台域名,上面几个是友盟统计和信天翁,...

    绿豆影视系统5.1.8反编译版源码.rar

    apk反编译教程:MT管理器找到前端apk,查看-点击后缀dex文件-dex编辑器++全选-搜索-发起新搜索/搜索类型-代码/查找内容 搜索域名 然后确定-点击第一个结果进去把域名改为自己后台域名,上面几个是友盟统计和信天翁,...

    绿豆影视系统5.1.8反编译版源码:PC+WAP+APP端【附搭建教程+软件】

    apk反编译教程:MT管理器找到前端apk,查看-点击后缀dex文件-dex编辑器++全选-搜索-发起新搜索/搜索类型-代码/查找内容 搜索域名 然后确定-点击第一个结果进去把域名改为自己后台域名,上面几个是友盟统计和信天翁,...

    绿豆影视系统5.1.8反编译版源码:PC+wap+app端【附搭建教程+软件】

    apk反编译教程:MT管理器找到前端apk,查看-点击后缀dex文件-dex编辑器++全选-搜索-发起新搜索/搜索类型-代码/查找内容 搜索域名 然后确定-点击第一个结果进去把域名改为自己后台域名,上面几个是友盟统计和信天翁,...

    wordpress蛋花儿网站模板

    由于原站社会化分享数量需要调用高级API,为保证通用性已更改为文章点击量,须先安装WP-PostViews统计插件 安装要求: 1.WP程序需安装在一级目录里,否则可能会造成站内某些图片无法正常显示 2.需开启固定链接...

    Discuz! X1.5 RC Release 20100901 GBK.rar

    [系统优化]优化 点击数延迟更新及内存机制规划 X系统错误日志,增加去重以及程序追踪信息新增 社区系统未知漏洞防御体系优化 安装程序,降低内存占用优化 模块模板中的语法改进优化 各页面标题的seo优化和重建,门户...

    商淘云B2B2C多用户商城系统-PHP

    【修复】用户APP端未记录广告点击数的bug。【修复】修复app端余额支付页提示“未设置支付密码”的bug。【修复】修复没有设置经销商推广提示语,生成二维码报错。商淘云B2B2C多用户商城系统 v3.6.5更新日志本次版本...

    蝉知企业门户系统2.4版

    28、幻灯功能优化:优化了后台管理界面,排序不再需要手动点击保存排序按钮 29、解决通过之前评论时,留言也会被通过的bug 30、后台删除主题或者回帖的时候添加确认提示 31、前台主题的维护选项增加转移功能 32、...

    店盟淘宝客程序V12.1.rar

    站点配置 网站名称、网站域名、站长联系信息、备案信息、统计代码等基本信息 淘客配置 淘宝账号、淘客PID、App Key、App Secret设置,支持App Key轮换功能 高级参数 网站的一些高级功能开启关闭及设置 热门搜索 ...

    蚂蚁分类信息系统mymps 1.6 utf8.rar

    (11)自助置顶:分类信息可限时分类置顶以及首页置顶,并扣除相应金币,会员可自行操作,扣除的金币数也可在后台设置。 (12)地图标注:整合地图标注接口设置(包括 baidu,51ditu,google地图)。 (13)广告...

    JAVA上百实例源码以及开源项目

     WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书  Java局域网通信——飞鸽传书源代码,大家都知道VB...

    网新企业网站管理系统(银色)V1.7.rar

    9、记录产品点击数,方便了解客户关注哪个产品; 10、产品可排序,方便调整排列顺序; 11、删除产品同时删除产品静态页面文件及产品图片,节省网站空间; 12、可自定义产品页面title,keywords,description等SEO...

    【二手车交易网站】PHP千博地方多商户二手汽车在线交易网站商城系统

    2、前端模板代码编写过细并颠末谨严的测试,兼容各年夜阅读器:针对时下游行阅读器举行优化,IE、Chrome、Safari、FireFox、360,Opera一个也不落下。 3、相应式结构,自顺应电脑、手机、平板等拜候终端; 4、前端...

    蚂蚁分类信息系统mymps v1.6 GBK.zip

    (11)自助置顶:分类信息可限时分类置顶以及首页置顶,并扣除相应金币,会员可自行操作,扣除的金币数也可在后台设置。 (12)地图标注:整合地图标注接口设置(包括 baidu,51ditu,google地图)。 (13)广告...

Global site tag (gtag.js) - Google Analytics