To see how this is used return to this tutorial index.
<?php
// How do people know to come to these pages, ie what links to these pages ?
// Copyright (c) 2005, Parliament Hill Computers (www.phcomp.co.uk). Author: Alain D D Williams (addw@phcomp.co.uk).
// You may used this file as the basis your own (or organisation's/company's) project (under whatever
// licence that you see fit), but may not claim ownership or copyright of the substantially unmodified file.
// This file is made available in the hope that it is useful, there is no warranty at all, use at your own risk.
// Log the referrer.
// $logmsg will be appended to the message if it is set/not_empty
// Don't log if the referrer is unknown or is from this site.
function LogReferrer($logmsg = '') {
if( ! array_key_exists('HTTP_REFERER', $_SERVER))
return;
// Don't log self referrals:
if( ! array_key_exists('SERVER_NAME', $_SERVER) or preg_match("=^http://" . preg_quote($_SERVER['SERVER_NAME'], '=') .
"(/|$)=", $_SERVER['HTTP_REFERER']))
return;
// The log files for each virtual site - must be writable by apache (or whatever your web server runs as).
// WARNING on the example below: On a redhat machine the path /var/log/httpd cannot be accessed in any way by the user apache,
// if/when an updating rpm is instelled, the permission of the directory will be reset -- take care.
// Customise this for your site:
$LogInfo = array(
'www.example.com' => '/var/log/httpd/example/referrer_log',
);
// Can't do anything if we don't know about it (probably a config error):
if( ! array_key_exists($_SERVER['SERVER_NAME'], $LogInfo))
return;
// If we can't open the file -- do nowt.
if($log = @fopen($LogInfo[$_SERVER['SERVER_NAME']], 'a')) {
fwrite($log, date('Y/m/d H:i:s') . " " . $_SERVER['REMOTE_ADDR'] . " " . $_SERVER['REQUEST_URI'] . " " . $_SERVER['HTTP_REFERER'] .
((string)$logmsg != '' ? " $logmsg" : '') . "\n");
fclose($log);
}
}
// end
?>
Return to this tutorial index.