手机类型访问判断

1、判断是否为手机访问

**
 * 判断是否为手机访问
 * @return  boolean
 */
function cmf_is_mobile()
{
    if (PHP_SAPI != 'cli') {
        static $cmf_is_mobile;

        if (isset($cmf_is_mobile))
            return $cmf_is_mobile;
    }

    $cmf_is_mobile = request()->isMobile();

    return $cmf_is_mobile;
}
//判断手机访问 
function is_mobile(){
 static $is_mobile;
 
 if( isset($is_mobile))
   return $is_mobile;
 
 if( empty($_SERVER['HTTP_USER_AGENT'])){
   $is_mobile =false;
 } 
 else if ( strpos($_SERVER['HTTP_USER_AGENT'],'Mobile')!==false
   || strpos($_SERVER['HTTP_USER_AGENT'],'Android')!==false
   || strpos($_SERVER['HTTP_USER_AGENT'],'Silk/')!==false
   || strpos($_SERVER['HTTP_USER_AGENT'],'Kindle')!==false
   || strpos($_SERVER['HTTP_USER_AGENT'],'BlackBerry')!==false
   || strpos($_SERVER['HTTP_USER_AGENT'],'Opera Mini')!==false){
   $is_mobile =true;
 }else{
   $is_mobile =false;
 }
 return $is_mobile;
}
function is_mobile() {
        $user_agent = $_SERVER['HTTP_USER_AGENT'];
        $mobile_agents = Array("240x320","acer","acoon","acs-",
            "abacho","ahong","airness","alcatel","amoi","android","applewebkit/525","applewebkit/532",
            "asus","audio","au-mic","avantogo","becker","benq","bilbo","bird",
            "blackberry","blazer","bleu","cdm-","compal","coolpad",
            "danger","dbtel","dopod","elaine","eric","etouch","fly ","fly_",
            "fly-","go.web","goodaccess","gradiente","grundig",
            "haier","hedy","hitachi","htc","huawei","hutchison","inno",
            "ipad","ipaq","ipod","jbrowser","kddi","kgt","kwc","lenovo",
            "lg ","lg2","lg3","lg4","lg5","lg7","lg8","lg9","lg-","lge-","lge9",
            "longcos","maemo","mercator","meridian","micromax","midp",
            "mini","mitsu","mmm","mmp","mobi","mot-","moto","nec-","netfront",
            "newgen","nexian","nf-browser","nintendo","nitro","nokia","nook",
            "novarra","obigo","palm","panasonic","pantech","philips","phone",
            "pg-","playstation","pocket","pt-","qc-","qtek","rover","sagem",
            "sama","samu","sanyo","samsung","sch-","scooter","sec-","sendo",
            "sgh-","sharp","siemens","sie-","softbank","sony","spice","sprint",
            "spv","symbian","tablet","talkabout","tcl-","teleca","telit","tianyu",
            "tim-","toshiba","tsm","up.browser","utec","utstar","verykool",
            "virgin","vk-","voda","voxtel","vx","wap","wellco","wig browser",
            "wii","windows ce","wireless","xda","xde","zte");
        $is_mobile = false;
        foreach ($mobile_agents as $device) {
            if (stristr($user_agent, $device)) {
                $is_mobile = true;
                break;
            }
        }
        return $is_mobile;
    }

2、判断是否为微信访问

3、判断是否为Android,IOS访问

4、检查手机格式,中国手机不带国家代码,国际手机号格式为:国家代码-手机号

/**
 * 检查手机格式,中国手机不带国家代码,国际手机号格式为:国家代码-手机号
 * @param $mobile
 * @return bool
 */
function cmf_check_mobile($mobile)
{
    if (preg_match('/(^(13\d|14\d|15\d|16\d|17\d|18\d|19\d)\d{8})$/', $mobile)) {
        return true;
    } else {
        if (preg_match('/^\d{1,4}-\d{5,11}$/', $mobile)) {
            if (preg_match('/^\d{1,4}-0+/', $mobile)) {
                //不能以0开头
                return false;
            }

            return true;
        }

        return false;
    }
}

5、获取随机UA

6、判断是否为GET / POST请求

/**
 * 判断是否为POST请求
 * @return bool
 */
function is_post()
{
    return 'POST' == $_SERVER['REQUEST_METHOD'];
}

/**
 * 判断是否为GET请求
 * @return bool
 */
function is_get()
{
    return 'GET' == $_SERVER['REQUEST_METHOD'];
}
PHP 手机类型访问判断
© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    blank

    暂无评论内容