php判断安卓端

原创
小哥 3年前 (2022-11-02) 阅读数 86 #PHP
文章标签 PHP

//判断手机

function eliteIsMobile(){

// 如果有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;

}

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门