如何使用 PHP 計算網站的唯一訪客數量?

Patricia Arquette
發布: 2024-11-08 09:50:02
原創
565 人瀏覽過

How to Count Unique Visitors to Your Site Using PHP?

如何計算我網站的唯一訪客?

問題:

我需要一個精確的訪問者計數器,僅記錄不同的訪問者,無論他們是每天還是每週訪問,用於對主頁上瀏覽次數最多的貼文進行排名的使用者貼文系統。使用 Google Analytics 不是一個選項。

解決方案:

此PHP 程式碼實現了所需的功能:

<?php
session_start();        // start Session, if not already started

$visitors = array();    // store visitors IP addresses in a PHP array

$ip = $_SERVER['REMOTE_ADDR']; // get visitor's IP address

$dt = time();             // get current timestamp

$expiration = 86400;        // expire session in 24 hours

if(isset($_GET['view'])) { // check if 'view' is a query parameter
    if(!isset($_SESSION['last_visit']) || ($_SESSION['last_visit'] < ($dt - $expiration))) {
        // visitor hasn't visited in the last 24 hours (or ever)
        $_SESSION['last_visit'] = $dt;  // update last visit timestamp
        $visitors[] = $ip;            // add IP to the visitors array
        $view_count = $view_count + 1; // increment view count
    }
}

// output data
echo 'Total Unique Visitors: ', count($visitors);
echo '<br>';
echo 'Total Page Views: ', $view_count;
?>
登入後複製

工作原理:

  1. 工作原理:
  2. 初始化一個PHP 陣列$visitors 來儲存唯一的IP位址。
  3. 使用 $_SERVER['REMOTE_ADDR'] 來取得訪客的 IP 位址。
  4. 取得當前時間戳記 ($dt)。
  5. 設定會話變數 $_SESSION[ 'last_visit'] 追蹤訪客上次查看頁面的時間,過期時間為 24小時。
  6. 檢查「view」是否為查詢參數。如果是,則表示該頁面正在被檢視。
如果訪客在過去 24 小時內(或曾經)沒有訪問過,則更新 $_SESSION['last_visit'] 時間戳,將 IP 添加到$visitors,並增加瀏覽量。

輸出唯一訪客總數($visitors 數)和總頁瀏覽量($view_count).

<a href="?view=1">View Post</a>
登入後複製
記住:要使此程式碼正常運作,您需要將其包含在要追蹤視圖的每個頁面上,並且需要新增以下內容頁面的HTML 程式碼:

以上是如何使用 PHP 計算網站的唯一訪客數量?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板