找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1467|回复: 0
打印 上一主题 下一主题

php函数实现判断是否移动端访问

[复制链接]

2588

主题

2588

帖子

7694

积分

论坛元老

Rank: 8Rank: 8

积分
7694
跳转到指定楼层
楼主
发表于 2018-2-14 05:48:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            忘记在哪里获取的函数了,刚才不了心在一个包里面找到,临时保存起来
[U]复制代码[/U] 代码如下:
/**
* 是否移动端访问访问
*
* @return bool
*/
function isMobile()
{
    // 如果有HTTP_X_WAP_PROFILE则一定是移动设备
    if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))
    {
        return true;
    }
    // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
    if (isset ($_SERVER['HTTP_VIA']))
    {
        // 找不到为flase,否则为true
        return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;
    }
    // 脑残法,判断手机发送的客户端标志,兼容性有待提高
    if (isset ($_SERVER['HTTP_USER_AGENT']))
    {
        $clientkeywords = array ('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',
            'mobile'
            );
        // 从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')
非常简单实用的函数,分享给大家,希望大家能够喜欢。
            
            
您可能感兴趣的文章:
  • php 接口类与抽象类的实际作用
  • 解析PayPal支付接口的PHP开发方式
  • PHP下使用CURL方式POST数据至API接口的代码
  • PHP对接微信公众平台消息接口开发流程教程
  • 微信公众平台开发接口PHP SDK完整版
  • php中创建和调用webservice接口示例
  • 浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
  • php支付宝接口用法分析
  • 使用Thinkphp框架开发移动端接口
  • Thinkphp框架开发移动端接口(2)
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端