程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP判斷訪問來源iphone,android,微信浏覽器,pc電腦的方法

PHP判斷訪問來源iphone,android,微信浏覽器,pc電腦的方法

編輯:PHP綜合

當我們采用PHP作為服務數據端口,為移動端,pc端提供數據接口的時候,可能會要求記錄接口訪問的來源是來之哪裡.

例如:生成訂單,可能就需要記錄,以便做一些數據分析,為運營和推廣提供一些數據支持.

現在移動終端是太多的了,所以你也不得不做出這麼多的判斷的了。接下來看下這些移動終端的判斷吧:

function order_source()  
{  
    $useragent  = strtolower($_SERVER["HTTP_USER_AGENT"]);  
    // iphone  
    $is_iphone  = strripos($useragent,'iphone');  
    if($is_iphone){  
        return 'iphone';  
    }  
    // android  
    $is_android    = strripos($useragent,'android');  
    if($is_android){  
        return 'android';  
    }  
    // 微信  
    $is_weixin  = strripos($useragent,'micromessenger');  
    if($is_weixin){  
        return 'weixin';  
    }  
    // ipad  
    $is_ipad    = strripos($useragent,'ipad');  
    if($is_ipad){  
        return 'ipad';  
    }  
    // ipod  
    $is_ipod    = strripos($useragent,'ipod');  
    if($is_ipod){  
        return 'ipod';  
    }  
    // pc電腦  
    $is_pc = strripos($useragent,'windows nt');  
    if($is_pc){  
        return 'pc';  
    }  
    return 'other';  
}  

 

根據自己的需求 ,來做一些特殊處理比如區分浏覽器,這裡就不做介紹了.

自己 echo $_SERVER["HTTP_USER_AGENT"] 出來看一下就明了.

如果判斷是不是屬於微信浏覽器,在IOS系統和ANDROID下都通用的就是判斷HTTP_USER_AGENT中是否帶有:micromessenger 

$res = strripos($str,$findstr) 此方法是在 $str 字符串中匹配 $findstr 最後一次出現的位置,匹配不到返回 false ,

也就是說假如匹配的字符串在首位出現就會返回0,那麼 if($res){...} 就無法正確返回,

比較正確的寫法應該是 if($res === 0 || $res > 0){...} ,(3個等於號是不僅是值相等還要數據類型相等),

當然我們已經知道哪些關鍵字是不會出現在首位,所以上面那種寫法就可以了.

*
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved