2012-02-09 67 views
4

可能重複:
Any php code to detect the browser with version and operating system?
how to detect internet explorer and firefox using PHP?如何檢測瀏覽器是否與PHP的Firefox?

我需要特定的HTML添加到非Firefox瀏覽器,所以我需要的,如果用戶使用Firefox首先檢測與否,我有使用php來做到這一點。沿着這些線路的東西?

<!--[if Firefox]> 
Mozilla only HTML here! 
<![endif]--> 

任何一個?由於

+1

順便說一句,你給的例子是有條件的HTML註釋,而不是PHP。 – JJJ 2012-02-09 11:04:15

+0

對不起,完全錯過了這些帖子。是的,我知道,HTML,這只是一個簡單的例子,我不能使用純html條件btw做它? – 2012-02-09 11:14:14

回答

15

使用此代碼片段檢索樣的瀏覽器:

if (isset($_SERVER['HTTP_USER_AGENT'])) { 
    $agent = $_SERVER['HTTP_USER_AGENT']; 
} 

然後,比較對用戶代理字符串。

例如,爲了檢測「火狐」你可以這樣做:

if (strlen(strstr($agent, 'Firefox')) > 0) { 
    $browser = 'firefox'; 
} 
+0

我應該寫爲「HTTP_USER_AGENT」? firefox,FIREFOX,Firefox,mozilla,MOZILLA,Mozilla,gecko,GECKO,Gecko? – 2012-02-09 11:07:25

+0

so: if(strlen(strstr($ agent,「Firefox」))> 0){ $ browser ='firefox'; 做些什麼... } else {do something else}; ? – 2012-02-09 11:12:20

+1

是的。如果你檢測到firefox是用戶代理,那麼讓我們插入你需要插入到html中的代碼片段(通過追加它?可以是一個解決方案) – DonCallisto 2012-02-09 11:14:05

1

您可以在請求中使用User-Agent頭。您可以對其進行正則表達式檢查以查找Firefox特定的模式,也可以使用WURFL這樣的庫來識別瀏覽器。

有關如何操作的示例,請參閱this answer

0

看在$_SERVER['HTTP_USER_AGENT']

例如爲:Mozilla/5.0 (Windows NT 5.1; rv:13.0a1) Gecko/20120206 Firefox/13.0a1

+1

某些瀏覽器發送錯誤的字符串。也許你應該告訴他要尋找什麼樣的字符串? – iWantSimpleLife 2012-02-09 11:08:33

1

使用$ _ SERVER [ 'HTTP_USER_AGENT']來獲得用戶的瀏覽器。