小贝seo

PHP中识别浏览器移动端或PC端执行的跳转方法

网站的手机端和PC端分开独立,不同域名时,或者自适配网页需要单独禁用手机端-PC端时,可用php执行自动识别-跳转的功能。

自动识别手机端-PC端代码并跳转的代码

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: https://www.ixiaobei.cn/"); //如果为手机端,执行跳转 } else{ }

本段代码通过检测系统类型和屏幕分辨率综合判断是否为手机端,并执行不同的跳转操作。以上操作为:如果检测到手机端访问,则直接将网页跳转到 ixiaobei.cn,如果不是手机端,则继续加载网页,不执行跳转。

为了确保任意页面都可以实现跳转功能,不用每个页面都放这么一行代码,请将该代码放到网页文件的 header.php或者footer.php中的<?php ?>内
如图:
PHP跳转


两种跳转方法

第一种是不带任何提示的跳转,例如我上面的代码。当用手机访问m.ixiaobei.cn时,直接跳转到www.ixiaobei.cn,给人一种感觉就是我用m.ixiaobei.cn访问了www.ixiaobei.cn

第二种是带提示的跳转,将上面识别和跳转的代码中if后面的内容更改,如下:

 if (isMobile()){ echo "<script> alert('正在调试,暂不支持手机页面。即将前往小贝博客主页'); </script>";        echo "<meta http-equiv='Refresh' content=0;URL='https://www.ixiaobei.cn'>";  } else{ }

上面用了metal标签刷新跳转,content后面的0为跳转的等待时间,可以自行修改。

也可以利用js跳转:

if (isMobile()){ echo "<script> alert('正在调试,暂不支持手机页面。即将前往小贝博客主页');parent.location.href='https://www.ixiaobei.cn'; </script>";  }

弹窗跳转的好处是可以给用户更加精确的提示,但在弹窗的过程中手机端的页面也会自己加载好,点击弹窗的确定后又会跳转到新的页面,手机端会被看到。至于选择哪种跳转方式,可自行考虑。





×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

打赏作者
本博客所有文章如无特别注明均为原创。作者:小贝seo复制或转载请以超链接形式注明转自 小贝seo博客
原文地址《PHP中识别浏览器移动端或PC端执行的跳转方法
分享到:
美工小分队

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)