15

I am using a function to identify mobile browsers in my projects, which can detect almost all major Mobile Operating systems and browsers.

我正在使用一個功能來識別我的項目中的移動瀏覽器,它可以檢測幾乎所有主要的移動操作系統和瀏覽器。

function ismobile() {

$is_mobile = '0';

if(preg_match('/(android|up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone)/i', strtolower($_SERVER['HTTP_USER_AGENT']))) {

$is_mobile=1;

}

if((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0) or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))) {

$is_mobile=1;

}

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

$mobile_agents = array('w3c ','acs-','alav','alca','amoi','andr','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)) {

$is_mobile=1;

}

if (isset($_SERVER['ALL_HTTP'])) {

if (strpos(strtolower($_SERVER['ALL_HTTP']),'OperaMini')>0) {

$is_mobile=1;

}

}

if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'windows')>0) {

$is_mobile=0;

}

return $is_mobile;

}

php checkmobile,如何在php中檢查請求是來自移動設備還是計算機相关推荐

  1. matlab矩阵指定行最大值,求Matlab程序:在2行矩阵中,如何求第1行最大值和第2行相应的最大,请问,如何在MATLAB中编写程序实现求两矩阵A*B,A.*...

    导航:网站首页 > 求Matlab程序:在2行矩阵中,如何求第1行最大值和第2行相应的最大,请问,如何在MATLAB中编写程序实现求两矩阵A*B,A.* 求Matlab程序:在2行矩阵中,如何求 ...

  2. 程式中檢查是否潤年的新方法

    在實際的應用中,我們經常要檢查是否為 潤年 ?一般情況我們都通過數字計算,下面提供一種簡單的方法,跟大家分享... 指令 CVTDAT 已經知道那一年是潤年, 只要將 "0229" ...

  3. 介紹 Java 平台的 Jazzy:一種新的拼寫檢查器 APIzzzz

    對於包含自然語言文件輸入的應用程式,使用者期望它具備拼寫檢查功能.因為從頭開始建構一個拼寫檢查器不是一項簡單的任務,所以這篇文章為您提供一個使用 Jazzy 的工作區.Jazzy 是一個開放原始程式碼 ...

  4. matlab 白色像素点,MATLAB 簡單的計算白色輪廓中像素點的個數

    近來,有朋友問到,如何計算白色輪廓中的像素點的個數.我在這里就舉一個超級簡單的例子,就是假設一副二值圖片,其背景是黑色的,而你的邊緣是白色的,而且你的白色邊緣中不包含黑色的點,就如附件中的那個圖像.下 ...

  5. linux命令查硬盘wwn,如何在Linux中查找HBA卡的WWN,WWNN和WWPN号

    在Linux / Unix操作系统中,有几种方法/命令来确定光纤通道(FC)HBA的WWN及其详细信息. 什么是SAN? 大多数IT行业使用SAN(存储区域网络)和fas I/O来获得更高的性能. S ...

  6. mysql count 返回0_如何在MySQL中使用COUNT時返回0而不是null

    我正在使用此查詢返回存儲在$ sTable中的歌曲列表以及存儲在$ sTable2中的總項目的COUNT.如何在MySQL中使用COUNT時返回0而不是null /* * SQL queries * ...

  7. 我是如何在SQLServer中处理每天四亿三千万记录的

    原文地址:http://www.cnblogs.com/marvin/p/HowCanIHandleBigDataBySQLServer.html 首先声明,我只是个程序员,不是专业的DBA,以下这篇 ...

  8. 如何在PowerShell中使用带有空格和引号的参数运行EXE文件

    本文翻译自:How to run an EXE file in PowerShell with parameters with spaces and quotes How do you run the ...

  9. lin通信ldf文件解析_详细步骤讲解如何在CANoe中创建一个LIN通讯工程(多图+详解)...

    本文首发自微信公众号"汽车技术馆"! CANoe可以实现基于CAN通讯的通讯测试和仿真,同时也可以支持基于LIN通讯的通讯测试和仿真,如何在CANoe中建立一个基于LIN通讯的工程 ...

最新文章

  1. 通过Katalon Automation Recorder 3步实现自动化测试
  2. 【机器学习算法-python实现】最大似然估计(Maximum Likelihood)
  3. TLSNotary中心化预言机(1) TLS1.1协议
  4. 推荐一个优化分页查询的办法(分页数很大的情况)
  5. linux audio A2B
  6. Delphi 设计模式:《HeadFirst设计模式》Delphi7代码---模板方法模式之CoffeineBeverageWithHook[转]...
  7. java webservice wsimport 无法将名称 'soapenc:Array' 解析为 'type definition' 组件 时对应的解决方法...
  8. 键盘上在方向键上面的9个键是干什么的?
  9. OpenFOAM大涡模拟湍流模型之Smagorinsky模型代码详解
  10. [裴礼文数学分析中的典型问题与方法习题参考解答]4.5.14
  11. Python培训包食宿
  12. 【古代文学论文】酒文化传播中唐代文学的作用分析(节选)
  13. 用Python多线程抓取并验证代理
  14. mysql数据库 with as用法
  15. 使用IMS搭建LMS系统(Logistics Management System 物流管理信息系统)
  16. Linux HugePage
  17. Unity中实现相机的跟随
  18. 【AI语音】九联UNT402A_通刷_纯净精简_免费线刷固件包
  19. MXNet的训练基础脚本:base_module.py
  20. Ubuntu常见命令

热门文章

  1. 虚拟机安装windows10
  2. @Component和@Bean的区别
  3. Linux下2D、3D的测试软件glxgears
  4. 物联网硬件安全与整改梳理(1)
  5. 微软向行业推介《欧盟通用数据保护条例》遵从指南
  6. 【直播】美团点评技术沙龙Online003: 美团点评数据库运维自动化实践与发展
  7. 两端分散对齐怎么设置_Word文档两端对齐分散对齐有哪些设置方法
  8. ROS2承上启下【05】:在单个进程中布置多个节点
  9. IT技术支持工程师岗位职责
  10. Pytorch笔记-6