您好,欢迎访问一九零五行业门户网

thinkphp判断访客为手机端或PC端的方法_php实例

本文实例讲述了thinkphp判断访客为手机端或pc端的方法。分享给大家供大家参考。具体实现方法如下:
一、问题:
近日准备给自己的网站做一个小升级,让用户在手机二维码扫描的时候显示适合手机端来展示的模版【我用的是thinkphp3.0】,代码是参考别人的
二、实现方法:
这里先说下大概的一个思路 简单两步:
统版本号和浏览器以及它的版本号(贴出的代码中数组中只有移动端信息,因此后面只需判断是否为数组中的某一个值即可).
根据数组中的值来判断访客是否为手机、pad、之类的移动端,如果是的话就规定项目路径、名称为你的手机端模版如
复制代码 代码如下:
define('app_name','mobi');define('app_path','./mobi/');
下面代码的话我尽量加上注释:
复制代码 代码如下:
//判断是否属手机 
//代码看上去很多,其实就是数组里面显得多而乱,不要被表面现象所吓倒哦! 
 function is_mobile(){ 
    $user_agent = $_server['http_user_agent'];
$mobile_agents = array(240x320,acer,acoon,acs-,abacho,ahong,airness,alcatel,amoi,android,anywhereyougo.com,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)) { //stristr 查找访客端信息是否在上述数组中,不存在即为pc端。 
            $is_mobile = true; 
            break; 
        } 
    } 
    return $is_mobile; 

define('think_path','./core/'); 
if(is_mobile()){ //跳转至wap分组 
 echo '您是手机端访问的,已跳转到手机端'; 
     define('app_name','mobi'); 
    define('app_path','./mobi/'); 
}else{ 
 echo '你是pc端访问的'; 
     define('app_name','home'); 
    define('app_path','./home/');          

 define('app_debug', false); 
require think_path.'core.php';
希望本文所述对大家的thinkphp框架程序设计有所帮助。
其它类似信息

推荐信息