2011-10-14 66 views
2

對於檢測Internet Explorer,我使用他的行。使用PHP檢測iOS版本

<?php if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false) { };?> 

如何檢測的iOS 5

+0

退房:http://www.useragentstring.com/pages/Browserlist/用戶代理字符串列表 – PeeHaa

回答

5

的HTTP_USER_AGENT將返回以下內容:

Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7 

如果你想檢測的iOS 5,請執行以下操作:

<?php if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone OS 5_0') !== false) { };?> 
+0

我確信你是正確的。目前我無法測試它。謝謝 –

+0

出於好奇,如果我想檢查多個用戶代理,該怎麼辦 –

+0

@RobinKnight這就是爲什麼你應該使用'get_browser()' - 看我的答案... – DaveRandom

0

如果這是可能的,get_browser()將是做到這一點的方法。

但是,由於用戶代理字符串很容易被欺騙,並且瀏覽器/操作系統列表是一個不斷移動的目標,因此這絕不會100%可靠。爲了完全起作用,您必須必須保持php_browscap.ini文件是最新的(請參閱關於鏈接手冊頁的說明)。

+0

你介意給我一些更詳細的信息,關於我使用iOS尋找哪些用戶代理的方法 –

+0

我不能,因爲我沒有iOS設備來測試。抱歉。你將不得不自己測試它(只是'var_dump(get_browser(null,true));') – DaveRandom

0

簡易

<?php 
    $browser = get_browser(null, true); 
    echo $browser['platform']; 
?> 

文檔說

注:

爲了這個工作,在 php.ini裏browscap配置必須指向正確的您的系統上的 browscap.ini文件的位置。

browscap.ini未與PHP捆綁在一起,但您可以在此處找到最新的» php_browscap.ini文件。

雖然browscap.ini包含許多瀏覽器的信息,但它依賴於 用戶更新來保持數據庫最新。該文件的格式是 相當不言自明。

6

我有一個類似的問題,但需要使用$ _SERVER ['HTTP_USER_AGENT']在iPhone和iPad中獲取版本號。我想這是不完全可靠,但它的工作對我來說:

<?php 

$version = preg_replace("/(.*) OS ([0-9]*)_(.*)/","$2", $_SERVER['HTTP_USER_AGENT']); 

// for example you use it this way 

if ($version > 5){ 
// do something 
} 


?>