呂梁網(wǎng)站開發(fā)本地推廣最有效的方法
PHP判斷訪客是否手機(jī)端、移動(dòng)端、瀏覽器訪問的方法總結(jié)
- 方法一:使用$_SERVER全局變量
- 方法二:使用PHP的get_browser函數(shù)
- 方法三:使用第三方庫(Mobile Detect)
- 方法四:使用WURFL設(shè)備數(shù)據(jù)庫
方法一:使用$_SERVER全局變量
我們可以使用PHP中的$_SERVER全局變量來獲取訪問者的User-Agent頭部信息,進(jìn)而判斷是否為移動(dòng)端設(shè)備。User-Agent頭部信息包含了訪問者的瀏覽器和操作系統(tǒng)信息,在移動(dòng)設(shè)備的User-Agent中會(huì)包含”Mobile”的關(guān)鍵字,所以如果檢測到User-Agent中包含”Mobile”的關(guān)鍵字,則我們可以確定訪問設(shè)備為移動(dòng)設(shè)備。示例代碼如下:
$isMobile = false;
if (isset($_SERVER['HTTP_USER_AGENT'])) {$userAgents = array('Android', 'iPhone', 'SymbianOS', 'Windows Phone', 'iPad', 'iPod');foreach ($userAgents as $userAgent) {if (strpos($_SERVER['HTTP_USER_AGENT'], $userAgent) !== false) {$isMobile = true;break;}}
}
function is_mobile_device() {$user_agent = $_SERVER['HTTP_USER_AGENT'];return preg_match("/(Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini)/i", $user_agent);
}if (is_mobile_device()) {echo "是手機(jī)端";
} else {echo "是PC端";
}
方法二:使用PHP的get_browser函數(shù)
PHP的get_browser函數(shù)可以幫助我們解析User-Agent頭部信息,從而獲取瀏覽器和操作系統(tǒng)的詳細(xì)信息。該函數(shù)需要在php.ini中開啟browscap配置項(xiàng),示例代碼如下:
$browser = get_browser(null, true);
if ($browser['ismobiledevice']) {$isMobile = true;
} else {$isMobile = false;
}
方法三:使用第三方庫(Mobile Detect)
除了使用PHP內(nèi)置函數(shù),我們也可以使用第三方庫來判斷訪客是否為手機(jī)端設(shè)備。比較常用的庫有Mobile Detect,示例代碼如下:
require_once 'Mobile_Detect.php';
$detect = new Mobile_Detect;
if ($detect->isMobile()) {$isMobile = true;
} else {$isMobile = false;
}
方法四:使用WURFL設(shè)備數(shù)據(jù)庫
WURFL是一個(gè)設(shè)備數(shù)據(jù)庫,可以提供設(shè)備的型號(hào)、操作系統(tǒng)和瀏覽器等詳細(xì)信息,使用WURFL可以實(shí)現(xiàn)高精度的設(shè)備識(shí)別。不過需要注意的是,WURFL設(shè)備數(shù)據(jù)庫需要進(jìn)行一定的配置和安裝步驟。示例代碼如下:
require_once 'Wurfl/autoload.php';
use ScientiaMobile\WurflCloud\Config;
use ScientiaMobile\WurflCloud\Cache\File;// 創(chuàng)建配置對(duì)象
$config = new Config();
$config->api_key = 'API_KEY';
$config->cache = new File('./cache/');// 創(chuàng)建WURFL云客戶端對(duì)象
$client = new ScientiaMobile\WurflCloud\Client($config);// 檢測設(shè)備是否為移動(dòng)端
$isMobile = $client->get($userAgent)->getCapability('is_mobile');
以上就是PHP判斷訪客是否手機(jī)端(移動(dòng)端瀏覽器)訪問的方法總結(jié)的四種方法,具有較高的精度和可靠性。