php 文章阅读数统计,php 怎么统计文章的访问量?

这个问题问的还有不够明确啊!你的统计条件什么?

1、是刷新一次统计一次?

2、根据IP统计?(如果是IP的话,如果在同一局域网下同一个IP不同的访问者访问那统计还是有误,建议获取客户端IP为准)

第1种情况,直接在对应数据表中创建浏览量的统计字段即可,每次访问SQL+1操作即可

example SQL:

UPDATE article SET Views=Views+1 WHERE articleId=xxx

第2中情况,就需要根据获取的IP统计了

example PHP:

/**

* 获取客户端IP

*/

function getClientIp(){

if(isset($_SERVER["HTTP_CLIENT_IP"]) and strcasecmp($_SERVER["HTTP_CLIENT_IP"], "unknown")){

return $_SERVER["HTTP_CLIENT_IP"];

}

if(isset($_SERVER["HTTP_X_FORWARDED_FOR"]) and strcasecmp($_SERVER["HTTP_X_FORWARDED_FOR"], "unknown")){

return $_SERVER["HTTP_X_FORWARDED_FOR"];

}

if(isset($_SERVER["REMOTE_ADDR"])){

return $_SERVER["REMOTE_ADDR"];

}

return "";

}

希望对你有所帮助^_^

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用PHP的SVN库来连接到SVN服务器并获取代码库的统计信息。以下是一个示例代码,可用于获取某个版本号的代码统计信息: ```php <?php // SVN服务器设置 $svn_server = "svn://svn.example.com/myproject"; $svn_username = "username"; $svn_password = "password"; // 获取SVN库 $svn = svn_connect($svn_server); svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, $svn_username); svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, $svn_password); // 指定版本号 $revision = 1234; // 统计代码 $command = "svn diff -r " . ($revision - 1) . ":" . $revision . " " . $svn_server . " --summarize"; $output = shell_exec($command); // 解析输出结果 $lines_added = 0; $lines_deleted = 0; $files_changed = 0; $lines = explode("\n", $output); foreach ($lines as $line) { if (preg_match('/^[ADUMR]\s+(.*)$/', $line, $matches)) { $files_changed++; $file = $matches[1]; if (preg_match('/\.php$/', $file)) { $command = "svn diff -x -w -r " . ($revision - 1) . ":" . $revision . " " . $svn_server . "/" . $file . " | grep -E '^[+|\-]' | wc -l"; $output = trim(shell_exec($command)); $lines_added += (int) $output; $command = "svn diff -x -w -r " . ($revision - 1) . ":" . $revision . " " . $svn_server . "/" . $file . " | grep -E '^\-' | wc -l"; $output = trim(shell_exec($command)); $lines_deleted += (int) $output; } } } // 输出统计信息 echo "Files changed: " . $files_changed . "\n"; echo "Lines added: " . $lines_added . "\n"; echo "Lines deleted: " . $lines_deleted . "\n"; ?> ``` 在以上代码中,首先需要设置SVN服务器的地址、用户名和密码。然后,使用`svn_connect()`函数连接到SVN服务器,并使用`svn_auth_set_parameter()`函数设置用户名和密码。接下来,使用`svn diff`命令获取指定版本号的代码库变更信息,并使用`shell_exec()`函数执行该命令。然后,解析输出结果,统计代码并输出统计信息。 在解析输出结果时,使用了正则表达式来匹配文件路径和变更类型,并使用`svn diff`命令获取指定文件的代码变更信息。然后,使用`grep`命令和正则表达式来匹配添加和删除的行,并使用`wc -l`命令统计行数。最后,累加添加和删除的行数,并输出统计信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值