+ -
当前位置:首页 → 问答吧 → PHP一个获取来路域名的的函数结果不正确

PHP一个获取来路域名的的函数结果不正确

时间:2011-10-11

来源:互联网

PHP code

function GetUrl()
{
$url       = $_SERVER["HTTP_REFERER"];   //获取完整的来路URL
$str   = str_replace("http://","",$url);  //去掉http://
$strdomain = explode("/",$str);               // 以“/”分开成数组
$domain    = $strdomain[0];              //取第一个“/”以前的字符
print $domain;
$Key = 'www';
$Pos = strpos($domain,$Key,0);
print $Pos;
if($Pos == false)
{
    return 'yes';
}
else
{
    return 'no';
}
}



不知道哪里出了问题.从自己网站过来访问 输出返回的是YES 从本地直接浏览访问 还是输出YES 我是想查找来路里面是不是有一个www 这个字符串. 但是返回值老是不对 没学过PHP 研究不倒了. 请高手指点一下!

作者: jianbin1062   发布时间: 2011-10-11

if($Pos == false)
这里改为
if($Pos === false)
因为strpos的结果可能是0

作者: ohmygirl   发布时间: 2011-10-11

PHP code

function GetUrl()
{
  return strpos($_SERVER["HTTP_REFERER"],'www',0)==7 ? 'yes' : 'no';
}

作者: moocky   发布时间: 2011-10-11

而且lz没有考虑https://的情况

作者: ohmygirl   发布时间: 2011-10-11

相关阅读 更多