PHP 判断用户的设备是否是移动设备
<?php
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;
}
}
//
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: C/C++ 日常学习总结(第二十二篇)共享内存实现C++
- 下一篇: 关于yii2的使用demo