php编写网站统计UV 总访问PV 今日PV代码

作者 :
免费
  • 正文
  • php编写网站统计UV 总访问PV 今日PV代码-完美源码

    这里总访问量是UV,统计方法是不同的浏览器有不同的cookies,24小时访问内访问一次算一个UV,保存在uv.txt上;总UV和总浏览PV是累加的。

    <?php
    //统计UV
    function uv_stat() {
    $cookie_name = 'uv_stat';
    $expire_time = time() + 86400; // 设置过期时间为 24 小时
    $file_name = 'uv.txt';
    if (!isset($_COOKIE[$cookie_name])) {
    setcookie($cookie_name, 1, $expire_time);
    if (file_exists($file_name)) {
    $uv = file_get_contents($file_name);
    $uv++;
    file_put_contents($file_name, $uv);
    } else {
    file_put_contents($file_name, 1);
    }
    }
    if (file_exists($file_name)) {
    $uv = file_get_contents($file_name);
    //echo "$uv";
    echo "<span>总访问量: " . $uv . " 人次 </span>";
    } else {
    echo "无法获取累计 UV 总数量";
    }
    }
    //uv_stat();

    // 统计PV,先设置时区
    date_default_timezone_set('Asia/Shanghai');

    // 获取当前日期
    $date = date('Y-m-d');

    // 获取客户端IP地址
    function get_client_ip() {
    $ip = '';
    if (getenv('HTTP_CLIENT_IP')) {
    $ip = getenv('HTTP_CLIENT_IP');
    } elseif (getenv('HTTP_X_FORWARDED_FOR')) {
    $ip = getenv('HTTP_X_FORWARDED_FOR');
    } elseif (getenv('REMOTE_ADDR')) {
    $ip = getenv('REMOTE_ADDR');
    } else {
    $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
    }

    // 统计PV
    function count_pv($date) {
    $file_name = 'pv.txt';
    if (!file_exists($file_name)) {
    file_put_contents($file_name, json_encode([$date => 1]));
    } else {
    $data = json_decode(file_get_contents($file_name), true);
    if (isset($data[$date])) {
    $data[$date]++;
    } else {
    $data[$date] = 1;
    }
    file_put_contents($file_name, json_encode($data));
    }
    }

    // 获取总PV
    function get_total_pv() {
    $file_name = 'pv.txt';
    if (!file_exists($file_name)) {
    return 0;
    } else {
    $data = json_decode(file_get_contents($file_name), true);
    return array_sum(array_values($data));
    }
    }

    // 获取今日PV
    function get_today_pv($date) {
    $file_name = 'pv.txt';
    if (!file_exists($file_name)) {
    return 0;
    } else {
    $data = json_decode(file_get_contents($file_name), true);
    return isset($data[$date]) ? $data[$date] : 0;
    }
    }

    // 统计PV
    count_pv($date);

    /*
    测试使用
    echo '累计PV次数: ' . get_total_pv() . '<br>';
    echo '今日PV次数: ' . get_today_pv($date) . '<br>';
    例如:总访问量:2317633 人次总浏览量:3742388 人次今日访问:129 人次开始统计日期:2010-05-13
    */
    // 显示统计结果
    echo uv_stat();
    echo "<span> 总浏览量:". get_total_pv() ." 人次</span>"; echo "<span> 今日访问:".get_today_pv($date) ." 人次</span>";
    echo "<span> 开始统计日期:2010-05-13</span>";

    php编写网站统计UV 总访问PV 今日PV代码-完美源码

    如果使用了eyoucms 可以在模板footer.htm上这样写

    <div id="FootCount">{eyou:php}
    require $_SERVER['DOCUMENT_ROOT'] . '/stat.php';
    {/eyou:php}</div>

    wordpress引入

    将stat.php和模板footer.php放在同目录内

    <?php get_template_part ('stat'); ?>
    END
    如本资源侵犯了您的权益,请联系投诉邮箱admin@wmphp.com进行举报!我们将在收到邮件的1个小时内处理完毕。 本站仅为平台,发布的资源均为用户投稿或转载!所有资源仅供参考学习使用,请在下载后的24小时内删除,禁止商用! Wmphp.com(完美源码)助力正版,如您有自己的原创产品,可以联系客服投稿,代理出售! Wmphp.com(完美源码)客服QQ:136882447 Wmphp.com(完美源码)商务电话(仅对企业客户/个人用户):15120086569 (微信同步) 请注意:本站不提供任何免费的技术咨询服务,为了节约时间,下载前 请确认自己会技术
    完美源码 » php编写网站统计UV 总访问PV 今日PV代码
    3495+

    本站勉强运行

    3673+

    用户总数

    690+

    资源总数

    0+

    今日更新

    2024-4-8

    最后更新时间