サーバー開発の勉強をするようになってから、特定のページにアクセスがきた場合のログを記録するってことをやってみたかったので調べて見ました。
特定のページへのアクセスログを記録する方法(PHP)
下記のメソッドをページにアクセスしたタイミングで呼び出せばアクセスログをlog.txtに記録します。
記録する情報は、「IP」,「ホスト名」,「リファラ」,「URI」,「アクセスしたブラウザの情報」,「リクエストメソッド」です。
<?php function OutPutlog() { $filename = "../log/log.txt"; //ログファイル名 $time = date("Y/m/d H:i"); //アクセス時刻 $ip = getenv("REMOTE_ADDR"); //IPアドレス $host = getenv("REMOTE_HOST"); //ホスト名 $referer = getenv("HTTP_REFERER"); //リファラ(遷移元ページ) $uri = getenv("REQUEST_URI"); //URI取得 $requestbrowser=$_SERVER['HTTP_USER_AGENT'];//ブラウザ情報の取得 $requestMethod=$_SERVER['REQUEST_METHOD'];//リクエストメソッドの取得 //ログ本文 $log = "\n---------------------------------". "\nDATE:".$time . "\nIP:". $ip . "\nHOST:". $host. "\nURI:". $uri. "\nREFERER:". $referer. "\nBROWSER:". $requestbrowser. "\nMETHOD:". $requestMethod; //ログ書き込み $fp = fopen($filename, "a"); fputs($fp, $log); fclose($fp); //echo $log; } ?>