2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > php判断用户是否手机访问代码

php判断用户是否手机访问代码

时间:2020-09-19 01:28:30

相关推荐

php判断用户是否手机访问代码

php教程|php手册

php,判断手机访问

php教程-php手册

公文管理系统源码下载,vscode编写运行jsp,ubuntu 日志级别,无法打开tomcat界面,sqlite 注册数据库,电动爬虫机器人平面图片,php循环插入数据,济南seo排名工具外包,汽车贷款类网站源码,html制作淘宝注册页面模板下载软件lzw

之前有一个案例用到判断用户是手机访问还是电脑访问,然后给用户展示相应的页面。最初是用js去做,但是准确度不高,最终采用了PHP来做,经测试基本上都能判断准

php九宫格抽奖源码,mac安装vscode打不开,mysql目录ubuntu,怎么打开tomcat页面,pyspider爬虫技术,php友情链接平台,广州问答seo推广哪家好,ip代理提取网站源码,dede 模板管理 空白lzw

最新自动采集淘宝客网站源码,vscode怎么添加git,ubuntu简单实用,tomcat自动删除,sqlite+外键的应用,怎么使用爬虫进行数据分析,php 查看编译参数,沈阳整站seo技术公司,成年手机电影网站微信,app布局模板lzw

随着移动设备的普及,网站也会迎来越来越多移动设备的访问。用适应PC的页面,很多时候对手机用户不友好,那么有些时候,我们需要判断用户是否用手机访问,如果是手机的话,就跳转到指定的手机友好页面。这里就介绍一下,如何判断用户是否用手机访问。

自定义的函数如下:

$agent = check_wap();

if( $agent )

{

header(‘Location: ‘);

exit;

}

// check if wap

function check_wap(){

// 先检查是否为wap代理,准确度高

if(stristr($_SERVER[‘HTTP_VIA’],”wap”)){

return true;

}

// 检查浏览器是否接受 WML.

elseif(strpos(strtoupper($_SERVER[‘HTTP_ACCEPT’]),”VND.WAP.WML”) > 0){

return true;

}

//检查USER_AGENT

elseif(preg_match(‘/(blackberry|configuration\/cldc|hp |hp-|htc |htc_|htc-|iemobile|kindle|midp|mmp|motorola|mobile|nokia|opera mini|opera |Googlebot-Mobile|YahooSeeker\/M1A1-R2D2|android|iphone|ipod|mobi|palm|palmos|pocket|portalmmm|ppc;|smartphone|sonyericsson|sqh|spv|symbian|treo|up.browser|up.link|vodafone|windows ce|xda |xda_)/i’, $_SERVER[‘HTTP_USER_AGENT’])){

return true;

}

else{

return false;

}

}

再来一个从PHP框架剥离的判断是否为手机移动终端的函数:

function is_mobile_request()

{

$_SERVER[‘ALL_HTTP’] = isset($_SERVER[‘ALL_HTTP’]) ? $_SERVER[‘ALL_HTTP’] : ”;

$mobile_browser = ‘0’;

if(preg_match(‘/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|iphone|ipad|ipod|android|xoom)/i’, strtolower($_SERVER[‘HTTP_USER_AGENT’])))

$mobile_browser++;

if((isset($_SERVER[‘HTTP_ACCEPT’])) and (strpos(strtolower($_SERVER[‘HTTP_ACCEPT’]),’application/vnd.wap.xhtml+xml’) !== false))

$mobile_browser++;

if(isset($_SERVER[‘HTTP_X_WAP_PROFILE’]))

$mobile_browser++;

if(isset($_SERVER[‘HTTP_PROFILE’]))

$mobile_browser++;

$mobile_ua = strtolower(substr($_SERVER[‘HTTP_USER_AGENT’],0,4));

$mobile_agents = array(

‘w3c ‘,’acs-‘,’alav’,’alca’,’amoi’,’audi’,’avan’,’benq’,’bird’,’blac’,

‘blaz’,’brew’,’cell’,’cldc’,’cmd-‘,’dang’,’doco’,’eric’,’hipt’,’inno’,

‘ipaq’,’java’,’jigs’,’kddi’,’keji’,’leno’,’lg-c’,’lg-d’,’lg-g’,’lge-‘,

‘maui’,’maxo’,’midp’,’mits’,’mmef’,’mobi’,’mot-‘,’moto’,’mwbp’,’nec-‘,

‘newt’,’noki’,’oper’,’palm’,’pana’,’pant’,’phil’,’play’,’port’,’prox’,

‘qwap’,’sage’,’sams’,’sany’,’sch-‘,’sec-‘,’send’,’seri’,’sgh-‘,’shar’,

‘sie-‘,’siem’,’smal’,’smar’,’sony’,’sph-‘,’symb’,’t-mo’,’teli’,’tim-‘,

‘tosh’,’tsm-‘,’upg1′,’upsi’,’vk-v’,’voda’,’wap-‘,’wapa’,’wapi’,’wapp’,

‘wapr’,’webc’,’winw’,’winw’,’xda’,’xda-‘

);

if(in_array($mobile_ua, $mobile_agents))

$mobile_browser++;

if(strpos(strtolower($_SERVER[‘ALL_HTTP’]), ‘operamini’) !== false)

$mobile_browser++;

// Pre-final check to reset everything if the user is on Windows

if(strpos(strtolower($_SERVER[‘HTTP_USER_AGENT’]), ‘windows’) !== false)

$mobile_browser=0;

// But WP7 is also Windows, with a slightly different characteristic

if(strpos(strtolower($_SERVER[‘HTTP_USER_AGENT’]), ‘windows phone’) !== false)

$mobile_browser++;

if($mobile_browser>0)

return true;

else

return false;

}

再给大家分享一个个人使用的

function isPhone() {

// 如果有HTTP_X_WAP_PROFILE则一定是移动设备

if (isset($_SERVER[‘HTTP_X_WAP_PROFILE’])) {

return true;

}

//如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息

if (isset($_SERVER[‘HTTP_VIA’])) {

//找不到为flase,否则为true

if(stristr($_SERVER[‘HTTP_VIA’], “wap”))

{

return true;

}

}

//脑残法,判断手机发送的客户端标志,兼容性有待提高

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’,

‘phone’,

);

// 从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], ext/html)))) {return true;} } return false;}

以上所述就是本文的全部内容了,希望大家能够喜欢。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。