ホームページ >データベース >mysql チュートリアル >PHP を使用してサイトへのユニーク訪問者をカウントするにはどうすればよいですか?

PHP を使用してサイトへのユニーク訪問者をカウントするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-08 09:50:02585ブラウズ

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. 一意の IP を格納するために PHP 配列 $visitors を初期化しますアドレス。
  2. $_SERVER['REMOTE_ADDR'] を使用して訪問者の IP アドレスを取得します。
  3. 現在のタイムスタンプ ($dt) を取得します。
  4. セッション変数 $_SESSION[ 'last_visit'] 訪問者が最後にページを閲覧した時間を追跡します。有効期限は 24 です。 hours.
  5. 「view」がクエリ パラメーターであるかどうかを確認します。表示されている場合は、ページが閲覧されていることを意味します。
  6. 訪問者が過去 24 時間 (またはこれまで) 訪問していない場合は、$_SESSION['last_visit'] タイムスタンプを更新し、IP を
  7. ユニーク訪問者の合計数 ($visitors の数) と合計ページビューを出力します。 ($view_count).

覚えておいてください: このコードが機能するには、ビューを追跡するすべてのページにコードを含める必要があり、次のコードを追加する必要があります。ページへの HTML コード:

<a href="?view=1">View Post</a>

以上がPHP を使用してサイトへのユニーク訪問者をカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。