日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php 判断设备来源,PHP判断移动设备来源的方法

發布時間:2024/9/19 php 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 判断设备来源,PHP判断移动设备来源的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

現在移動設備大熱的年代,可能我們在做web前端開發的時候經常會需要用到對移動設備的頁面匹配。當然我們可以用響應式頁面設計來處理前端的匹配問題,但是響應式頁面只是不顯示某些代碼,但是還是會加載到用戶的移動設備中。為了更好的照顧到用戶手機瀏覽的體驗,減少不必要的加載。我們可以再通過PHP的方式來減少用戶的代碼加載,提高用戶瀏覽頁面時的體驗。由于現在移動設備的種類繁多、而且瀏覽器五花八門,所以僅僅是通過User-Agent來判斷已經不能完全解決問題了。

function isMobile()

{

// 如果有HTTP_X_WAP_PROFILE則一定是移動設備

if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))

{

return true;

}

// 如果via信息含有wap則一定是移動設備,部分服務商會屏蔽該信息

if (isset ($_SERVER['HTTP_VIA']))

{

// 找不到為flase,否則為true

return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;

}

// 判斷手機發送的客戶端標志,兼容性有待提高

if (isset ($_SERVER['HTTP_USER_AGENT']))

{

$clientkeywords = array ('nokia',

'sony',

'ericsson',

'mot',

'samsung',

'htc',

'sgh',

'lg',

'sharp',

'sie-',

'philips',

'panasonic',

'alcatel',

'lenovo',

'iphone',

'ipod',

'blackberry',

'meizu',

'android',

'netfront',

'symbian',

'ucweb',

'windowsce',

'palm',

'operamini',

'operamobi',

'openwave',

'nexusone',

'cldc',

'midp',

'wap',

'mobile'

);

// 從HTTP_USER_AGENT中查找手機瀏覽器的關鍵字

if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT'])))

{

return true;

}

}

// 協議法,因為有可能不準確,放到最后判斷

if (isset ($_SERVER['HTTP_ACCEPT']))

{

// 如果只支持wml并且不支持html那一定是移動設備

// 如果支持wml和html但是wml在html之前則是移動設備

if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html'))))

{

return true;

}

}

return false;

}

?>

目前這個方法可以用于大多數的移動設備判斷,使用時也可以根據需要自行添加一些UA的判斷參數。

總結

以上是生活随笔為你收集整理的php 判断设备来源,PHP判断移动设备来源的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。