php如何判断设备是否为pc或移动端访问

DurkBlue4个月前 ( 06-08 )164抢沙发
php如何判断设备是否为pc或移动端访问摘要: <?php/*require_once 'webTitlCacheAPI/writeIn.php'; */header('Content-Ty...

<?php



/*require_once 'webTitlCacheAPI/writeIn.php'; */

header('Content-Type:application/json; charset=utf-8');

header("Access-Control-Allow-Origin: *");

header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");


ini_set('display_errors',"On");            //错误信息

ini_set('display_startup_errors',"On");


$haveTag = false;

$typeid = 0;

if(isset($_GET['typeid'])){

$haveTag = true;

$typeid = $_GET['typeid'];

}



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那一定是app


//如果支持wml和html但是wml在html之前则是app


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;


        }


    }


}


// if(!isMobile()){


//   $str = "<iframe src='https://buluo.yywl.cn/' frameborder='0' height='100%' scrolling='no' width='100%'></iframe>";

//   echo $str;;die;


// }


?>


此篇文章由DurkBlue发布,麻烦转载请注明来处

分享到:
0
赞(0

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

发表评论取消回复

快捷回复:

评论列表 (暂无评论,164人围观)参与讨论