不少网站访问统计程序提供有“来路”信息,客户查阅统计资料时从中得知访问者从什么网站连接过来。所谓“来路”,其实就是别人从哪里点击了你网站的链接,即,从什么页面连接到你的网站。
在PHP中,获取“来路”信息是非常简单的,我们只需用到referer。HTTP头携带的信息当中包含有一个变量$_SERVER['HTTP_REFERER'],它提供的就是“来路”完整URL地址。以下代码放入你的PHP页面脚本,它就能够打印出连接到该脚本所在页面的具体地址(即“来路”):
$v_url=$HTTP_REFERER;
print $v_url;
比如,用户从本站的友情链接点击你的网站,你将得到类似“http://www.php100.com/forum”的URL地址。就这么简单。
来路的URL地址可能是很长的。作为来路地址,很多情况下,我们可能只关心它属于哪个网站,即,网站的虚拟主机名叫什么。一个URL地址包含有诸多实体信息,主要有:
·方案(scheme)- HTTP
·主机(host) - www.php100.com
·路径(path) - /forum
PHP提供一个截取这些实体信息的简便方案:parse_url()函数。parse_url()函数解析一个URL并返回一个数组,该数组就包含有上述实体及其他诸如端口(port)、查询(querry)等信息。试看:
$v_url='http://www.php100.com/forum/reg.php'; //待处理的URL地址
$str_ar=parse_url($v_url);
$v_host=$str_ar['host'];
print $v_host;
执行以上脚本,浏览器将显示:www.php100.com,即本站的虚拟主机名。