您好,欢迎访问一九零五行业门户网

php中$_SERVER['HTTP_USER_AGENT']判断是否为手机访问网站

http_user_agent是获取用户浏览器信息的一个全局变量,我们可以利用http_user_agent获取的值来判断用户是手机浏览器还是电脑访问网。
代码如下 复制代码
$uagent = $_server['http_user_agent'];
$ospat = mozilla|m3gate|winwap|openwave|windows nt|windows 3.1|95|blackcomb|98|me|x window|ubuntu|longhorn|aix|linux|amigaos|beos|hp-ux|openbsd|freebsd|netbsd|os/2|osf1|sun;
if(preg_match(/($ospat)/i, $uagent )) //winwap 模拟wap手机上网的一个浏览器; openwave|后面为各pc操作系统
{
echo 电脑访问;
}
else
{
echo 手机访问;
}
echo '
'.$uagent;
现在我们事完整的把实例写成一个文件
 代码如下 复制代码
$ua = strtolower($_server['http_user_agent']);
$uachar = /(nokia|sony|ericsson|mot|samsung|sgh|lg|philips|panasonic|alcatel|lenovo|cldc|midp|mobile|wap)/i;
if(($ua == '' || preg_match($uachar, $ua))&& !strpos(strtolower($_server['request_uri']),'wap'))
{
    $loaction = 'wap/';
    if (!empty($loaction))
    {
        ecs_header(location: $loactionn);
        exit;
    }
}
/** 
* 自定义 header 函数,用于过滤可能出现的安全隐患 

* @param   string  string  内容 

* @return  void 
**/ 
function ecs_header($string, $replace = true, $http_response_code = 0)  
{  
    if (strpos($string, '../upgrade/index.php') === 0)  
    {  
        echo '';  
    }  
    $string = str_replace(array(r, n), array('', ''), $string);
if (preg_match('/^s*location:/is', $string))  
    {  
        @header($string . n, $replace);
exit();  
    }
if (emptyempty($http_response_code) || php_version     {  
        @header($string, $replace);  
    }  
    else 
    {  
        @header($string, $replace, $http_response_code);  
    }  
}
javascript中采用navigator.useragent 来获取,但非智能机似乎不支持js。
支持js的移动客户端还可以用以下代码简单判断是不是windows电脑访问的
 代码如下 复制代码
if(navigator.platform.indexof('win32')!=-1){
//go to pc
}else{
// go to 手机
}
更多关于判断手机访问文章 http://www.111cn.net/phper/php-cy/44574.htm
其它类似信息

推荐信息