php中$_SERVER['HTTP_USER_AGENT']判断是否为手机访问网站
发布:smiling 来源: PHP粉丝网 添加日期:2014-07-29 09:40:22 浏览: 评论:0
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 '<br/>'.$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 (!emptyempty($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 '<script type="text/javascript">window.location.href="' . $string . '";</script>';
- }
- $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 < '4.3')
- {
- @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 手机
- }
Tags: $_SERVER 是否为手机访问网站
相关文章
- ·php $_SERVER['HTTP_USER_AGENT'] 用法介绍(2014-03-06)
- ·php中$_SERVER环境变量用法(2014-03-27)
- ·PHP $_SERVER["SERVER_NAME"]与 $_SERVER['HTTP_HOST'] 区别(2014-06-23)
- ·PHP5下$_SERVER变量不再受magic_quotes_gpc保护(2014-08-23)
- ·php中$_SERVER[PATH_INFO]变量使用详解(2015-04-11)
- ·php几个预定义变量$_SERVER用法小结(2021-04-24)
- ·PHP中$_SERVER使用说明(2021-06-08)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)