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.