ホームページ  >  記事  >  バックエンド開発  >  PHP がページ滞在時間を記録する方法の例

PHP がページ滞在時間を記録する方法の例

*文
*文オリジナル
2017-12-29 18:59:581408ブラウズ

この記事では主に、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 時間フォーマットパラメータ

php タイムスタンプ

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

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