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 IP及IP段进行访问限制的代码
Dec 17 PHP
基于PHP静态类的原罪详解
May 06 PHP
浅析PHP中Collection 类的设计
Jun 21 PHP
PHP如何利用P3P实现跨域
Aug 24 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
Jul 04 PHP
php+xml结合Ajax实现点赞功能完整实例
Jan 30 PHP
分享五个PHP7性能优化提升技巧
Dec 07 PHP
YII Framework框架教程之日志用法详解
Mar 14 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
Aug 17 PHP
PHP利用Socket获取网站的SSL证书与公钥
Jun 18 PHP
php实现多站点共用session实现单点登录的方法详解
Sep 18 PHP
php pdo连接数据库操作示例
Nov 18 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中使用灵巧的体系结构
2006/10/09 PHP
PHP HTML代码串截取代码
2008/12/29 PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
2014/06/12 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
2019/08/12 PHP
jQuery去掉字符串起始和结尾的空格(多种方法实现)
2013/04/01 Javascript
JavaScript中数据结构与算法(四):串(BF)
2015/06/19 Javascript
JavaScript正则表达式小结(test|match|search|replace|split|exec)
2016/12/08 Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
2017/07/31 Javascript
React Form组件的实现封装杂谈
2018/05/07 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
2019/04/17 Javascript
Vue form表单动态添加组件实战案例
2019/09/02 Javascript
解决layui的使用以及针对select、radio等表单组件不显示的问题
2019/09/05 Javascript
基于vue hash模式微信分享#号的解决
2020/09/07 Javascript
JS实现简易图片自动轮播
2020/10/16 Javascript
[51:36]EG vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
python算法学习之桶排序算法实例(分块排序)
2013/12/18 Python
Python的Tornado框架实现异步非阻塞访问数据库的示例
2016/06/30 Python
python常见的格式化输出小结
2016/12/15 Python
浅析python的Lambda表达式
2019/02/27 Python
Python字典对象实现原理详解
2019/07/01 Python
Python csv文件的读写操作实例详解
2019/11/19 Python
关于Pytorch MaxUnpool2d中size操作方式
2020/01/03 Python
django 前端页面如何实现显示前N条数据
2020/03/16 Python
亚洲独特体验旅游专家:eOasia
2018/08/15 全球购物
Lentiamo比利时:便宜的隐形眼镜
2020/02/14 全球购物
高三自我鉴定
2013/10/23 职场文书
元旦活动感言
2014/03/08 职场文书
驾驶员培训方案
2014/05/01 职场文书
学习教师法的心得体会
2014/09/03 职场文书
公司周年庆典标语
2014/10/07 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书
党员争先创优承诺书
2015/01/20 职场文书
学校证明范文
2015/06/24 职场文书
JS如何实现基于websocket的多端桥接平台
2021/05/14 Javascript
JavaScript原型链详解
2021/11/07 Javascript
win11如何查看端口是否被占用? Win11查看端口是否占用的技巧
2022/04/05 数码科技