首页 > 编程语言 >PHP判断请求来源是否为手机

PHP判断请求来源是否为手机

时间:2023-03-20 13:34:46浏览次数:35  
标签:HTTP 请求 mobile SERVER ++ strtolower 手机 PHP browser

/**
 * //判断是否手机设备
 * @return boolean
 */
 
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 "mobile";
 
  else
 
    return "pc";
 
}

 

标签:HTTP,请求,mobile,SERVER,++,strtolower,手机,PHP,browser
From: https://www.cnblogs.com/ccdr/p/17235956.html

相关文章

  • 接口测试——requests接口请求(十)
    1.requests库介绍与安装requests库介绍requests是一款非常火爆且常用的Python三方库能够实现HTTP协议的各种请求方法使用简单易上手requests库的安装方法pip......
  • Nuxt 判断 手机 ipad pc 三端
    一、js判断根据浏览器ua判断当前是否为移动设备:middleware中间件执行流程顺序:1、nuxt.config.js2、匹配布局3、匹配页面项目根目录下新建middleware文件夹,新建mi......
  • 2023/03/17(五)阴,有雨;第一次没收手机
    因为知道今天是六年级的卒业式,估计他俩中午前会放学回家,家里提前准备好做好的炒茄子和米饭;头天晚上给孩子们布置任务:放学回家下午记得互相检查五十音图的学习结果。上班......
  • PHP 将空数组统一 json 序列化为 [] 的弊端
    在PHP中表示空的map或空数组都是以空数组形式,在转化为json数据时,会将空数组统一json序列化成 ​​[]​​,这样就存在一个类型问题。以前我们在与前端交互时一般是与弱类......
  • php线程安全(TS)和非线程(NTS)安全区别 本文来源:码农网 本文链接:https://www.coderct
    以下线程安全简称TS非线程安全简称NTS首先unix/linux不强调使用线程模型,强调使用多进程模型,windows下面才强调使用多线程。创建进程的速度比创建线程慢几倍,并且相互通信......
  • 手机抓包工具-Fiddler
    既然服务器端我们可以使用httpdump以及tcpdump这样的工具抓取相应的数据包,手机上要调试一些问题就一眼摸瞎,不知道该用什么工具。本文就来介绍一下手机抓包工具Fiddler。首先......
  • 开源IP地址管理系统phpipam部署
    一、IPAM管理系统简介phpipam是一个开源WebIP地址管理应用程序(IPAM)。其目标是提供轻便,现代且有用的IP地址管理。它是基于PHP的应用程序,具有MySQL数据库后端,使用jQuery库,a......
  • uni App 获取手机号,授权获取经纬度,openid,unionid 选择收贷地址,
    //获取用户手机号getPhoneNumber(e){//getPhoneNumber:failnopermission说明没有开通权限,需要企业账号。......
  • 【漏洞复现】PHP-CMS v1.0 SQL注入漏洞(CVE-2022-26613)
    【漏洞复现】PHP-CMSv1.0SQL注入漏洞(CVE-2022-26613)0x01漏洞描述春秋云镜靶场:PHP-CMSv1.0存在SQL注入漏洞,攻击者可获得敏感信息。CVE:PHP-CMSv1.0wasdiscovered......
  • jmeter发送http请求
    一、发送get请求1、发送get请求时,参数有两种构造方式,一个是通过请求体的方式传递,一个是将参数与url放一起进行传递  二、发送post-json请求 ......