• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > PHP怎么判断一个客户端是手机还是电脑

PHP怎么判断一个客户端是手机还是电脑

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了PHP判断客户端,手机还是电脑等相关知识,希望对您有所帮助

php判断一个客户端是手机还是电脑的方法:首先创建一个PHP示例文件;然后通过判断“$_SERVER['HTTP_USER_AGENT']”里是否含有关键字“mobile”来实现即可。


PHP怎么判断一个客户端是手机还是电脑


php怎么判断一个客户端是手机还是电脑?

PHP判断请求是否来自移动端还是PC端

如题,其实最简单的方法就是判断$_SERVER['HTTP_USER_AGENT']里是否含有关键字“mobile”(user_agent里面包含了用户的设备信息),下面是thinkphp论坛上的找到的更好的判断方法:

function isMobile(){     // 如果有HTTP_X_WAP_PROFILE则一定是移动设备    if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])){        return true;    }    // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息    if (isset ($_SERVER['HTTP_VIA'])){        return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;// 找不到为false,否则为true    }     // 判断手机发送的客户端标志,兼容性有待提高    if (isset ($_SERVER['HTTP_USER_AGENT'])) {        $clientkeywords = array (            'mobile',            'nokia',            'sony',            'ericsson',            'mot',            'samsung',            'htc',            'sgh',            'lg',            'sharp',            'sie-',            'philips',            'panasonic',            'alcatel',            'lenovo',            'iphone',            'ipod',            'blackberry',            'meizu',            'android',            'netfront',            'symbian',            'ucweb',            'windowsce',            'palm',            'operamini',            'operamobi',            'openwave',            'nexusone',            'cldc',            'midp',            'wap'        );         // 从HTTP_USER_AGENT中查找手机浏览器的关键字        if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))){            return true;        }    }    if (isset ($_SERVER['HTTP_ACCEPT'])){ // 协议法,因为有可能不准确,放到最后判断        // 如果只支持wml并且不支持html那一定是移动设备        // 如果支持wml和html但是wml在html之前则是移动设备        if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== FALSE) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === FALSE || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))){            return true;        }    }    return false;}

当然也可以使用PHP的mobile-detect类: https://github.com/serbanghita/Mobile-Detect。

不过我觉得没必要引入那么一大段代码来检测(如果有特殊的检测需求,比如检测iPhone设备,检测iPad设备,那么mobile-detect是不错的选择),一般情况下,分析USER_AGENT来判断就可以了。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • PHP怎么判断一个客户端是手机还是电脑

相关文章

  • 2022-04-29帝国CMS万能标签调用指定时间内容方法
  • 2022-04-29带你搞懂怎么基于Docker安装Nginx搭建静态服务器
  • 2022-04-29WordPress主题RiPro美化-给特定分类添加VIP权限才可访问效果
  • 2022-04-29浅析AntdV Upload组件customRequest怎么自定义上传方法
  • 2022-04-29CSS3怎么实现动画结束不消失效果
  • 2022-04-29phpcms v9添加热门搜索关键词的方法
  • 2022-04-29PhotoShop制作逼真的补丁文字效果的教程
  • 2022-04-2911个SEO细节提升网站权威性
  • 2022-04-29PHP7留言板开发之 Ajax异步提交
  • 2022-04-29uniapp如何取消原生导航栏

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 分析ThinkORM新增加的虚拟模型功能
    • 关于vue-cli4+laravel8使用JWT登录及token验证
    • PHP网站常见安全漏洞,及相应防范措施总结
    • Composer安装时要求输入授权用户名密码是怎么回事
    • 浅谈小程序如何授权登录,获取信息和手机号
    • 突破dedecms软件下载地址数30个的限制
    • VUE项目地址去掉 # 号的方法
    • Thinkphp中JS如何获取模板变量(示例详解)
    • PHP如何实现禁止浏览器缓存
    • 如何解决mysql 错误1053问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有