因为项目的要求,IIS主机头留空了,为了解决不必要的麻烦,设计了这个获取根域名的方法,这样只有用户添加过的根域名才可以访问,这样此根域名的所有子域名都可以正常访问了。
首先获取浏览器使用的域名,使用PHP内置函数$_SERVER['HTTP_HOST']
因为设置的根域名可能比较多,所以,使用的方法用根域名对比获取到的域名,用户设置的根域名如下
<?php $myhost=array(
".ei.com",
".ok.com",
".ei.com.cn"
//添加域名
);
$myhost_tmp=array_flip($myhost);
krsort($myhost_tmp);
$myhost=array_flip($myhost_tmp);
//以上三句是把数组重新排序,按根域名的长度设置,这样对比的时候会先对比.ei.com.cn后对比.ei.com
?>
接着对比域名
if(!isset($_COOKIE['host']))
{
foreach ($myhost as $value)
{
if(is_int(strpos($_SERVER['HTTP_HOST'],$value))){echo $value;break;}//循环对比,对比到根域名的时候就跳出FOR循环;
};
}
以上是对比根域名的,后面怎么操作就不再说了。大家发散下思维吧。