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;
}

//常见的 安卓,苹果,ipad,windowsphone 都没问题。 除了那些什么亚马逊手机,国外小众手机不行。
时间: 2024-10-27 13:56:41

php 判断客户端是否为手机端访问的相关文章

ThinkPHP3.2判断手机端访问并设置默认访问模块的方法

ThinkPHP3.2判断是否为手机端访问并跳转到另一个模块的方法 目录结构 公共模块Common,Home模块,Mobile模块 配置Application/Common/Conf/config.php文件 'MODULE_ALLOW_LIST' => 'Home,Mobile' 接下来配置Application/Common/Common/function.php文件 添加isMobile方法 [详见代码] function isMobile(){ // 如果有HTTP_X_WAP_PROF

js判断手机端访问跳转到手机端

<SCRIPT LANGUAGE="JavaScript"> function mobile_device_detect(url) { var thisOS=navigator.platform; var os=new Array("iPhone","iPod","iPad","android","Nokia","SymbianOS","Symb

TP3.2.x判断手机端访问,同一个域名在PC和手机端展示不同模板(半独立式网站)

首先介绍APP_STATUS内置常量,TP入口文件增加APP_STATUS 参数,  自动加载不同的项目配置文件,通过配置文件指向不同的模块 手机端访问时调用Wap手机模块,实现在手机端访问时展示出手机网站,无需跳转域名首先我们在./Application/Common/Conf/ 目录下建立两个公共配置文件:config.php 和Mobie.php config.php文件中 <?phpreturn array( 'DEFAULT_MODULE'=>'Index', 'DEFAULT_CO

php 判断是用户是pc端还是手机端访问的方法

function getBrowserType(){ $is_mobile = false; $mobile_os_list=array('Google Wireless Transcoder','Windows CE','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','Opera Mobi','J2ME/MIDP','Smartphone','Go.Web','Palm'

JavaScript 判断手机端访问并跳转 redirect mobile

假如你的手机端网站在 /m 目录下 (function(a,b){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/

判断Http请求由手机端发起,还是有电脑端发起

某些情形,我们需要判断Http请求是来自手机端还是电脑端,关键是取得User-Agent的信息,进行筛选判断即可. 核心类如下: public static boolean isMobileDevice(String requestHeader){ /** * android : 所有android设备 * mac os : iphone ipad * windows phone:Nokia等windows系统的手机 */ String[] deviceArray = new String[]{

手机端访问本地未上线服务器

我们都知道本机要访问本地服务器地址默认为127.0.0.1,但是有时候需要用手机端来测试辛辛苦苦做好的网页是否存在页面兼容性等一系列问题. 怎么才能用手机访问自己本地还未上线的服务器呢?首先必须保证手机与服务器是处于同一网络下,这里我以服务器与手机在同一wifi下作为列子说明. 第一步是需要知道服务器的ip地址,在服务器端打开cmd命令窗口,然后输入ipconfig,回车后会看到下图所示界面: 找到WLAN模块,对应的IPv4地址就是我们要找的服务器在网络里面的ip地址. 第二步就是检查手机是否

thinkphp中怎么判断是手机端访问还是pc端访问?

1 function isMobile() 2 { 3 // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 4 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) 5 return true; 6 7 // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息 8 if (isset ($_SERVER['HTTP_VIA'])) 9 { 10 // 找不到为flase,否则为true 11 return stristr($_SERV

DZ3.2手机端访问bug彻底解决方法:您访问的页面无手机页面,是否进一步访问电脑版

手机访问dz3.2出现这种情况是部分页面有手机版也会出现这个提示: 提示您访问的页面无手机页面,是否进一步访问电脑版? 使用手机访问的时候,会出现这样的提示 您访问的页面无手机页面,是否进一步访问电脑版? 目前网上提供的解决方案都没有找到问题的根本原因,只是提供了强制刷新的方法,根据本人的调试最终找到了此bug的问题所在,只需要修改 source/function/function_core.php 找到 source/function/function_core.php第618行: 把 $mo