之前使用了一个网上随便找的简易计数器代码,必须启用exec函数,有些童鞋的空间商为了安全起见禁用了此函数导致代码出错,特写了段简单的读写文件的和读写数据库的代码供参考。
代码如下:
下面一个是修改为每天计数:
- <?php
- $counterFile = "counter.txt";
- clearstatcache();
- if (!file_exists($counterFile))
- {
- file_put_contents($counterFile, 0);
- }
- $lasttime = filemtime($counterFile);
- if ($lasttime)
- {
- $lastdate = date("Y-m-d", $lasttime);
- if ($lastdate != date("Y-m-d", time()))
- {
- file_put_contents($counterFile, 0);
- }
- }
- $num = intval(file_get_contents($counterFile));
- $num ++;
- echo"您是今天第 "."$num"." 位访客";
- file_put_contents($counterFile, $num);
- ?>
此代码没有什么大的用处,这个计数器与网站流量统计有很大区别,记录的是刷新次数,并不是真实记录访问者的IP,主要是满足一下大家的虚荣心罢了!由于写文件总是导致莫名的自动重新计数问题,可能是并发的时候,读取写入文件出错导致的,下面的代码是写入数据库,不会出现自动重新计数的问题,代码如下:
- <?php
- $config_file = dirname(dirname(dirname(dirname(dirname(__FILE__))))).'/wp-config.php';
- require_once($config_file);
- $conn = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) ordie("不能连接");
- mysql_select_db(DB_NAME,$conn) ordie("数据库连接错误");
- mysql_query('set names utf8');
- $query = "select * from ".DB_COUNTER;
- $result = mysql_query($query) ordie("不能查询");
- if($result)
- {
- $r=mysql_fetch_array($result);
- $counter = $r['count'] + 1;
- $date = date("Y-m-d");
- if($r['date'] != $date)
- {
- $sql = "update ".DB_COUNTER." set count = '1', date = '$date' where id=1";
- echo"您是今天第 1 位访客";//输出结果
- }
- else
- {
- $sql = "update ".DB_COUNTER." set count = count + 1 where id=1";
- echo"您是今天第 "."$counter"." 位访客";//输出结果
- }
- $result=mysql_query($sql);
- }
- ?>
同时在wp-config.php中添加
- /** 计数器 */
- define('DB_COUNTER', 'wp_counter');
打开数据库,添加一个表wp_counter
- DROPTABLE IF EXISTS `wp_counter`;
- CREATETABLE `wp_counter` (`id` int(11) NOTNULLDEFAULT '0',`count` doubleDEFAULTNULL,`date` dateDEFAULTNULL,PRIMARYKEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;
- insertinto `wp_counter` (`id`, `count`, `date`) values('1','1','2011-06-09');
配合鸟哥最新的HotNewspro2.5主题使用(可在后台设置是否显示顶部访客统计计数)在上面代码基础上分别在行首及行尾添加两行如下:
- 行首添加:<?php if (get_option('swt_count') == 'Display') { ?>
- 行尾添加:<?php } else { } ?>
如非注明则为本站原创文章,欢迎转载。转载请注明转载自:moon's blog
已经用上。呵呵。高人。谢了。 😛
不客气,欢迎互访! 😛
弱弱问一句,我的下部为啥不会出现【友情链接申请】字样啊。只能在友情链接的地址显示栏内出现? 😛
我的底部的友情链接申请是添加的一个页面,然后在后台外观–>菜单里添加到底部导航就可以了。另外也可以使用AutoBolgroll插件会自己生成一个友情链接申请入口 😆
博主,你好。请问评论中的admin盖章效果是怎么实现的?!
这个也就是在2.5主题的管理员评论回复大头像的基础上加了一个条件,添加了一个样式和背景图片而已,很简单
代码已标点已被自动替换为全角标点,别人无法正常使用
还得手动改
已修复,之前重装wordpress忘了修改了 😛 多谢提醒!
😯 为什么没有效果~~ 显示不能查询~~ 蛋疼
表中没有插入默认数据吧?
执行没
你好, 请问鸟哥 2.5 不用exec的这断代码+在哪个文件里
替换掉主题目录下 😛 includes/counter.php文件内容即可
哈哈 万分感谢 找了好久 我技术太差 多像你学习,以后多多交流~~~
呵呵,不要客气啦,互相学习!~
不简单啊.
鸟哥的默认是不清零的一直计数,但是有的为什么会清零呢?原因是同时访问量大时写文件锁导致清零,记录到数据库的方法可以试试~
什么建新的数据表呀
就在连接mysql数据库,在wordpress的数据库中新建一个数据表,可用上面提到的sql语句完成创建过程 😀