如果我们要判断访问网站的是手机用户还是PC用户我们只要获取用户的HTTP_USER_AGENT即可,我先介绍了一个通用的Mobile_Detect,后面两个例子是自己写的希望对各位有帮助.
php代码实例如下:
- //使用实例
 - include 'Mobile_Detect.php';
 - $detect = new Mobile_Detect();
 - // Check for any mobile device.
 - if ($detect->isMobile())
 - // Check for any tablet.
 - if($detect->isTablet())
 - // Check for any mobile device, excluding tablets.
 - if ($detect->isMobile() && !$detect->isTablet())
 - if ($detect->isMobile() && !$detect->isTablet())
 - // Alternative to $detect->isAndroidOS()
 - $detect->is('AndroidOS');
 - // Batch usage
 - foreach($userAgents as $userAgent){
 - $detect->setUserAgent($userAgent);
 - $isMobile = $detect->isMobile();
 - }
 - // Version check.
 - $detect->version('iPad'); // 4.3 (float)
 
php判断手机访问,代码如下:
- 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);
 - }
 - }
 
js代码如下:
- var isIPhone = /iPhone/i.test(navigator.userAgent),
 - isIPad = /iPad/i.test(navigator.userAgent),
 - isAndroid = /android/i.test(navigator.userAgent);
 - var isIOS = isIPhone || isIPad;
 - alert(
 - "iPhone? "+isIPhone+"tr"+
 - "iPad? "+isIPad+"tr"+
 - "Android? "+isAndroid+"tr"+
 - "iOS? "+isIOS
 - );
 
新闻热点
疑难解答