如果我們要判斷訪問網站的是手機用戶還是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
- );
新聞熱點
疑難解答