quang cao hosting

Code thống kê lượng người truy cập website bằng PHP, không dùng MySQL

Xem: 27640    Tải: 0   Thảo luận: 2   Mục: Php&mySql   Lĩnh vực: Khác

143 điểm   ( 39 đánh giá ) File đã được kiểm thử

Đây là các hàm thống kê, đếm số lượt truy cập theo IP:

 

PHP Code:

 <?php
session_start();
function online()
{
    $rip = $_SERVER['REMOTE_ADDR'];
    $sd = time();
    $count = 1;
    $maxu = 1;

    $file1 = "counter/online.log";
    $lines = file($file1);
    $line2 = "";

    foreach ($lines as $line_num => $line)
    {
        if($line_num == 0)
        {
            $maxu = $line;
        }
        else
        {
            $fp = strpos($line,'****');
            $nam = substr($line,0,$fp);
            $sp = strpos($line,'++++');
            $val = substr($line,$fp+4,$sp-($fp+4));
            $diff = $sd-$val;

            if($diff < 300 && $nam != $rip)
            {
                $count = $count+1;
                $line2 = $line2.$line;
            }
        }
    }

    $my = $rip."****".$sd."++++\n";
    if($count > $maxu)
    $maxu = $count;

    $open1 = fopen($file1, "w");
    fwrite($open1,"$maxu\n");
    fwrite($open1,"$line2");
    fwrite($open1,"$my");
    fclose($open1);
    $count=$count;
    $maxu=$maxu+200;
    
    return $count;
}

///////////////////////
    $ip = $_SERVER['REMOTE_ADDR'];
    
    $file_ip = fopen('counter/ip.txt', 'rb');
    while (!feof($file_ip)) $line[]=fgets($file_ip,1024);
    for ($i=0; $i<(count($line)); $i++) {
        list($ip_x) = split("\n",$line[$i]);
        if ($ip == $ip_x) {$found = 1;}
    }
    fclose($file_ip);
    
    if (!($found==1)) {
        $file_ip2 = fopen('counter/ip.txt', 'ab');
        $line = "$ip\n";
        fwrite($file_ip2, $line, strlen($line));
        $file_count = fopen('counter/count.txt', 'rb');
        $data = '';
        while (!feof($file_count)) $data .= fread($file_count, 4096);
        fclose($file_count);
        list($today, $yesterday, $total, $date, $days) = split("%", $data);
        if ($date == date("Y m d")) $today++;
            else {
                $yesterday = $today;
                $today = 1;
                $days++;
                $date = date("Y m d");
            }
        $total++;
        $line = "$today%$yesterday%$total%$date%$days";
        
        $file_count2 = fopen('counter/count.txt', 'wb');
        fwrite($file_count2, $line, strlen($line));
        fclose($file_count2);
        fclose($file_ip2);
      }
      
      
    function today()
    {
        $file_count = fopen('counter/count.txt', 'rb');
        $data = '';
        while (!feof($file_count)) $data .= fread($file_count, 4096);
        fclose($file_count);
        list($today, $yesterday, $total, $date, $days) = split("%", $data);
        return $today;
    }
    function yesterday()
    {
        $file_count = fopen('counter/count.txt', 'rb');
        $data = '';
        while (!feof($file_count)) $data .= fread($file_count, 4096);
        fclose($file_count);
        list($today, $yesterday, $total, $date, $days) = split("%", $data);
        return $yesterday;
    }
    function total()
    {
        $file_count = fopen('counter/count.txt', 'rb');
        $data = '';
        while (!feof($file_count)) $data .= fread($file_count, 4096);
        fclose($file_count);
        list($today, $yesterday, $total, $date, $days) = split("%", $data);
        echo $total;
    }
    function avg()
    {
        $file_count = fopen('counter/count.txt', 'rb');
        $data = '';
        while (!feof($file_count)) $data .= fread($file_count, 4096);
        fclose($file_count);
        list($today, $yesterday, $total, $date, $days) = split("%", $data);
        echo ceil($total/$days);
    } 
?>
Nhớ tạo 3 file count.txt và ip.txt, online.log trong thư mục counter nhé:
./counter/count.txt
./counter/ip.txt
./counter/online.log
 
PHP Code:
Đang online: <?php echo online(); ?> <br>
                  Truy cập hôm nay: <?php echo today(); ?> <br>
                Truy cập hôm qua: <?php echo yesterday(); ?> <br>
                Tổng số truy cập: <?php total(); ?> <br>
                Truy cập trung bình: <?php avg(); ?> <br>

 

Code thống kê lượng người truy cập website bằng PHP, không dùng MySQL

Code thống kê lượng người truy cập website bằng PHP, không dùng MySQL Đăng ngày 10-03-2014  Đây là các hàm thống kê, đếm số lượt truy cập theo IP: Code thống kê lượng người truy cập website bằng PHP, không dùng MySQL 3.6666666666667/10 27640

Thảo luận:

  • avatar
    @ hoang_tung - 15:07, 17/07/2017

    Code nay có vẻ như ko tự động đâu bạn nhé.

  • avatar
    @ viethung - 07:19, 17/07/2017

    Add cho mình hỏi cái này cứ mỗi lần ai truy cập thì nó lưu vào lỡ khách thoát ra cái online nó không cập nhật lại add.Có cách nào để khắc phục trường hợp đó không add.Mong add trả lời sớm giúp em .Em cảm ơn ạ?

Để bình luận bạn phải đăng nhập thành viên.

File tương tự

Files cùng mục

 
File gợi ý cho bạn
File tải nhiều nhất
Megacode.vn - Thư viện mã nguồn chia sẻ, tải file cho cộng đồng
Copyright © 2013-2021. All rights reserved. Bản quyền thuộc VinaGon
Email: [email protected]
Hotline: 086.924.3838