<?php
$refererFile='refererdata.php';
if(file_exists($refererFile)){
require_once($refererFile);
}else{
$Referer=array();
}
$path=pathinfo($SCRIPT_NAME);
if(isset($_SERVER['HTTP_REFERER']) && !strstr($_SERVER['HTTP_REFERER'],'http://'.$HTTP_HOST.$path['dirname'])){
$url=urldecode($_SERVER['HTTP_REFERER']);
if(isset($Referer[$url])){
$Referer[$url]=$Referer[$url]+1;
}else{
$Referer[$url]=1;
}
function getRefererStr($i,$k){
global $s;
$s[]="/t/"".$k."/"=>$i";
}
array_walk($Referer,'getRefererStr');
$s="<?php/n/$Referer=array(/n".join($s,",/n")."/n);/n?>";
if(is_writable($refererFile) || !file_exists($refererFile)){
if(!$handle=fopen($refererFile,'w')){
return false;
}
if(!fwrite($handle,$s)){
return false;
}
fclose($handle);
}else{
return false;
}
return true;
}
?>
$refererFile='refererdata.php';
if(file_exists($refererFile)){
require_once($refererFile);
}else{
$Referer=array();
}
$path=pathinfo($SCRIPT_NAME);
if(isset($_SERVER['HTTP_REFERER']) && !strstr($_SERVER['HTTP_REFERER'],'http://'.$HTTP_HOST.$path['dirname'])){
$url=urldecode($_SERVER['HTTP_REFERER']);
if(isset($Referer[$url])){
$Referer[$url]=$Referer[$url]+1;
}else{
$Referer[$url]=1;
}
function getRefererStr($i,$k){
global $s;
$s[]="/t/"".$k."/"=>$i";
}
array_walk($Referer,'getRefererStr');
$s="<?php/n/$Referer=array(/n".join($s,",/n")."/n);/n?>";
if(is_writable($refererFile) || !file_exists($refererFile)){
if(!$handle=fopen($refererFile,'w')){
return false;
}
if(!fwrite($handle,$s)){
return false;
}
fclose($handle);
}else{
return false;
}
return true;
}
?>
在要统计的页面插入“<?php require_once('referer.php'); ?>”,使用时主文件会自动生成一个数据存储文件 refererdata.php。
referstat.php,来源信息察看文件。
<?php
if(file_exists('refererdata.php')){
require_once('refererdata.php');
natsort($Referer);
end($Referer);
for($i=0;$i<count($Referer);$i++){
$R=current($Referer);
$s[]='» <a href="'.key($Referer).'" target="_blank">'.preg_replace("/^https?:/i",'',key($Referer)).'</a> ('.$R.')';
prev($Referer);
}
echo '<b>访客来源:</b><br/>'.join($s,'<br/>');
}else{
header('Location:.',true);
}
?>
if(file_exists('refererdata.php')){
require_once('refererdata.php');
natsort($Referer);
end($Referer);
for($i=0;$i<count($Referer);$i++){
$R=current($Referer);
$s[]='» <a href="'.key($Referer).'" target="_blank">'.preg_replace("/^https?:/i",'',key($Referer)).'</a> ('.$R.')';
prev($Referer);
}
echo '<b>访客来源:</b><br/>'.join($s,'<br/>');
}else{
header('Location:.',true);
}
?>