PHP判断用户是手机端?还是浏览器端访问?

function isMobile(){
    $useragent=isset($_SERVER[‘HTTP_USER_AGENT‘]) ? $_SERVER[‘HTTP_USER_AGENT‘] : ‘‘;
    $useragent_commentsblock=preg_match(‘|\(.*?\)|‘,$useragent,$matches)>0?$matches[0]:‘‘;
    function CheckSubstrs($substrs,$text){
        foreach($substrs as $substr)
            if(false!==strpos($text,$substr)){
                return true;
            }
            return 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‘,‘iPAQ‘);
    $mobile_token_list=array(‘Profile/MIDP‘,‘Configuration/CLDC-‘,‘160×160‘,‘176×220‘,‘240×240‘,‘240×320‘,‘320×240‘,‘UP.Browser‘,‘UP.Link‘,‘SymbianOS‘,‘PalmOS‘,‘PocketPC‘,‘SonyEricsson‘,‘Nokia‘,‘BlackBerry‘,‘Vodafone‘,‘BenQ‘,‘Novarra-Vision‘,‘Iris‘,‘NetFront‘,‘HTC_‘,‘Xda_‘,‘SAMSUNG-SGH‘,‘Wapaka‘,‘DoCoMo‘,‘iPhone‘,‘iPod‘); 

    $found_mobile = CheckSubstrs($mobile_os_list,$useragent_commentsblock) ||  CheckSubstrs($mobile_token_list,$useragent); 

    if ($found_mobile){
         return true;
    }else{
         return false;
    }
}
if (isMobile()){
    header(‘location: ./app/index.php‘);//如果为手机端,执行跳转
}
else{
    header(‘location: ./web/index.php‘);//如果非手机端,执行跳转
}

  此文转载:http://bbs.itheima.com/thread-337540-1-1.html?mxhw

时间: 2024-11-09 13:43:27

PHP判断用户是手机端?还是浏览器端访问?的相关文章

判断是否为手机端与pc端,为手机端跳转到某个页面,pc端就不跳转

<script type="text/javascript">      var browser={      versions:function(){      var u = navigator.userAgent, app = navigator.appVersion;      return {      trident: u.indexOf('Trident') > -1, //IE内核      presto: u.indexOf('Presto') &g

js如何判断是手机端还是PC端访问

function isMobile(){ var sUserAgent= navigator.userAgent.toLowerCase(), bIsIpad= sUserAgent.match(/ipad/i) == "ipad", bIsIphoneOs= sUserAgent.match(/iphone os/i) == "iphone os", bIsMidp= sUserAgent.match(/midp/i) == "midp", b

JS前端开发判断是否是手机端并跳转操作(小结)

JS前端开发判断是否是手机端并跳转操作(小结) 这篇文章主要介绍了JS前端开发判断是否是手机端并跳转操作,非常不错,具有参考借鉴价值,需要的朋友可以参考下 常用跳转代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 <script type="text/javascript">  // borwserR

js如何判断用户是否是用微信浏览器

微信内置浏览器屏蔽了下载链接,如果用户是用微信内置浏览器打开的,则提示用户换一个浏览器打开页面,那么该如何判断用户是否是用微信浏览器呢 上周接到个需求,需求是这样的:用户扫一扫二维码会产生一个链接,该链接会向后端发送个请求,返回一个 apk 的下载地址,用户点击下载按钮可以下载此 apk.然后就发生了问题,经过测试,发现用微信扫一扫打开的页面点击下载按钮下载不了 apk,后百度之,原来是微信内置浏览器屏蔽了下载链接,后面和需求方沟通,需求改为如果用户是用微信内置浏览器打开的,则提示用户换一个浏览

判断是否为手机端登录

public class MobileUtil { /** * 判断是否为手机端登录 * @param requestHeader 请求头信息 * @return */ public static boolean isMobileDevice(String requestHeader){ /** * android : 所有android设备 * mac os : iphone ipad * windows phone:Nokia等windows系统的手机 */ String[] deviceA

Chrome远程调试手机端UC浏览器

今天在手机UC上发现我的一个网页打不开,而在PC上是正常的,因此需要通过Chrome远程调试手机端UC浏览器查下问题,折腾了老久才弄好. 获取 Google USB 驱动程序 首先将手机通过USB接口与PC连接 接着要确认手机USB驱动程序是不是正常,可以在设备管理器中查看,如果设备左侧没有黄色感叹号,则说明正常. 如果不正常就需要手动安装了,给个链接:获取 Google USB 驱动程序 开发者选项 打开手机的开发者选项 进入手机中 我的设备 -> 全部参数,连续7次点击版本号,以Redmi

手机端和网页端使用同一后台时进行会话控制的一种思路

1.背景 Web端的一次成功的登陆请求后,cookie中会保存此次回话的sessionID,再点击其他页面时,会将此sessionID传递给后台,后台读取对应的session来进行相应逻辑行为:也就是说:session本质上还是要基于cookie的.但是,免费手机网关,不支持cookie传输,于是在手机端的权限验证中,并不能简单的在后台用request.getSession()就得到该手机应用统一的session.解决这个问题,可以在手机应用每一次登陆时,产生该用户的一个token(类似于ses

MVC项目中如何判断用户是在用什么设备进行访问

使用UAParser在C#MVC项目中如何判断用户是在用什么设备进行访问(手机,平板还是普通的电脑) 现在我们开发的很多web应用都要支持手机等移动设备.为了让手机用户能有更加好的用户体验,我们经常为手机设备专门准备一套前端的页面.这样当用户使用普通电脑来访问的时候,我们的应用就向用户展示普通电脑的页面.当用户使用手机等移动设备来访问我们的系统的时候,我们就向用户展示手机设备的页面.但是这时候另一个问题出现了.如何判断用户在使用什么设备访问我们的应用?是使用手机还是普通电脑? 网上能查到的不同的

手机端和PC端分别加载不同的js文件

分手机端和PC端其实方法很多,我们在响应式设计.响应式网站建设中经常碰到此类需求.下面说说我们在项目中遇到的需求: 手机端和PC端分别加载不同的js客服代码(注意:是要在PC和手机端分别加载不同的js文件) 第一种方法(简单型): <script type="text/javascript"> // 根据屏幕尺寸 if (screen && screen.width > 480) { document.write('<script type=&q