PHP简单判断iPhone、iPad、Android及PC设备的方法


Posted in PHP onOctober 11, 2016

本文实例讲述了PHP简单判断iPhone、iPad、Android及PC设备的方法。分享给大家供大家参考,具体如下:

因为工作需要我们需要知道是什么样了用户访问了我网站了,现在的移动设备种类多了,下面我们一起来看小编整理的一段PHP判断iPhone、iPad、Android、PC设备的例子.

我将使用Windows系统的设备定为PC,毕竟博客面向中国用户,大部分家用设备还是用的Windows系统.

原理是判断浏览器提交的USER AGENT,代码如下:

<?php
//获取USER AGENT
$agent = strtolower($_SERVER['HTTP_USER_AGENT']);
//分析数据
$is_pc = (strpos($agent, 'windows nt')) ? true : false;
$is_iphone = (strpos($agent, 'iphone')) ? true : false;
$is_ipad = (strpos($agent, 'ipad')) ? true : false;
$is_android = (strpos($agent, 'android')) ? true : false;
//输出数据
  if($is_pc){
    echo "这是PC";
  }
  if($is_iphone){
    echo "这是iPhone";
  }
  if($is_ipad){
    echo "这是iPad";
  }
  if($is_android){
    echo "这是Android";
  }
?>

如果你只判断是否为iphone设备可以如下来进行操作,代码如下:

function get_device_type(){
 $agent = strtolower($_SERVER['HTTP_USER_AGENT']);
 $type = 'other';
 if(strpos($agent, 'iphone') || strpos($agent, 'ipad') ){
 $type = 'ios';
 }
 if(strpos($agent, 'android')){
 $type = 'android';
 }
 return $type;
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP+JS无限级可伸缩菜单详解(简单易懂)
Jan 02 PHP
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
Aug 26 PHP
Php Mssql操作简单封装支持存储过程
Dec 11 PHP
php学习笔记 面向对象中[接口]与[多态性]的应用
Jun 16 PHP
PHP面向对象学习笔记之二 生成对象的设计模式
Oct 06 PHP
php连接mssql数据库的几种方法
Feb 21 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
Jul 08 PHP
php生成随机颜色方法汇总
Dec 03 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
May 13 PHP
深入讲解PHP Session及如何保持其不过期的方法
Aug 18 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 PHP
PHP实现文件上传操作和封装
Mar 04 PHP
PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
Oct 11 #PHP
php外部执行命令函数用法小结
Oct 11 #PHP
php字符串操作常见问题小结
Oct 11 #PHP
PHPCMS2008广告模板SQL注入漏洞修复
Oct 11 #PHP
php基于curl实现随机ip地址抓取内容的方法
Oct 11 #PHP
php 获取文件行数的方法总结
Oct 11 #PHP
PHP中文字符串截断无乱码解决方法
Oct 10 #PHP
You might like
php流量统计功能的实现代码
2012/09/29 PHP
解析php二分法查找数组是否包含某一元素
2013/05/23 PHP
mac下安装nginx和php
2013/11/04 PHP
Django中通过定时任务触发页面静态化的处理方式
2018/08/29 PHP
laravel 多图上传及图片的存储例子
2019/10/14 PHP
javascript 子窗体父窗体相互传值方法
2010/05/31 Javascript
jquery调用wcf并展示出数据的方法
2011/07/07 Javascript
JS的replace方法介绍
2012/10/20 Javascript
jQuery使用技巧简单汇总
2013/04/18 Javascript
Js中的onblur和onfocus事件应用介绍
2013/08/27 Javascript
不同编码的页面表单数据乱码问题解决方法
2015/02/15 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
2015/10/30 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
2015/11/27 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
详解vuex 中的 state 在组件中如何监听
2017/05/23 Javascript
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
2019/03/06 jQuery
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
js函数和this用法实例分析
2020/03/13 Javascript
vue自定义树状结构图的实现方法
2020/10/18 Javascript
[03:48]大碗DOTA
2019/07/25 DOTA
深入讲解Java编程中类的生命周期
2016/02/05 Python
Python实现约瑟夫环问题的方法
2016/05/03 Python
python目录与文件名操作例子
2016/08/28 Python
python Shapely使用指南详解
2020/02/18 Python
python encrypt 实现AES加密的实例详解
2020/02/20 Python
Python3 pywin32模块安装的详细步骤
2020/05/26 Python
HTML5之SVG 2D入门13—svg对决canvas及长处和适用场景分析
2013/01/30 HTML / CSS
日本最大的彩色隐形眼镜销售网站:CharmColor
2020/09/09 全球购物
公务员的自我鉴定
2013/10/26 职场文书
十佳教师事迹材料
2014/01/11 职场文书
创业计划书模版
2014/02/05 职场文书
广告学专业毕业生自荐信
2014/05/28 职场文书
机关保密承诺书
2014/06/03 职场文书
终止解除劳动合同证明书
2015/06/17 职场文书
详解python的异常捕获
2022/03/03 Python
三种方式清除vue路由跳转router-link的历史记录
2022/04/10 Vue.js