ホームページ >バックエンド開発 >PHPチュートリアル >ページ滞在時間を記録するための PHP メソッドのコード例

ページ滞在時間を記録するための PHP メソッドのコード例

怪我咯
怪我咯オリジナル
2017-07-14 10:57:162451ブラウズ

プログラム開発をしていると、ユーザーが Web サイトのページを閲覧した時間を知りたい場合がありますが、この機能はどのように実装すればよいでしょうか? この記事では主に、PHP でページの滞在時間を記録する方法を紹介します。これには、ファイルと時間の JS を組み合わせた PHP の関連操作スキルが含まれます。詳細は次のとおりです。 まず。監視したいページに追加 JSは以下の通り

<script>
var dt1 = new Date();
window.onbeforeunload = function(){
  var dt2 = new Date();
  var ms = dt2.getTime() - dt1.getTime();
  var img = new Image();
  img.src = &#39;log.php?stay_ms=&#39; + ms;
}
</script>

log.php コードは以下の通り

<?php
$refer = &#39;&#39;;
if (isset($_SERVER[&#39;HTTP_REFERER&#39;]))
{
  $refer = $_SERVER[&#39;HTTP_REFERER&#39;];
}
$user_agent = &#39;&#39;;
if (isset($_SERVER[&#39;HTTP_USER_AGENT&#39;]))
{
  $user_agent = $_SERVER[&#39;HTTP_USER_AGENT&#39;];
}
$ip = $_SERVER[&#39;REMOTE_ADDR&#39;];
if (isset($_GET[&#39;stay_ms&#39;]))
{
  $log = &#39;[&#39; . date("Y-m-d H:i:s") . &#39;] &#39; . $ip . &#39; &#39; . $refer . &#39; @ &#39; . number_format($_GET[&#39;stay_ms&#39;]) . "ms\r\n";
  file_put_contents("log/log_" . date("Y-m-d") . ".txt", $log, FILE_APPEND);
}
if ($_SERVER[&#39;QUERY_STRING&#39;] == &#39;&#39; || isset($_GET[&#39;day&#39;]))
{
  $day = isset($_GET[&#39;day&#39;]) ? $_GET[&#39;day&#39;] : date("Y-m-d");
  $file = "log/log_" .$day . ".txt";
  if (file_exists($file))
  {
    $log = file_get_contents($file);
    echo nl2br($log);
  }
}

以上がページ滞在時間を記録するための PHP メソッドのコード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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