[精讚] [會員登入]
1941

[PHP] 使用browscap檢查瀏覽器版本

使用PHP內建函數browscap檢查瀏覽器版本

分享此文連結 //n.sfs.tw/11024

分享連結 [PHP] 使用browscap檢查瀏覽器版本@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-25 10:47:00 最後編修
2017-05-01 10:50:16 By 張○○
 

自動目錄

PHP 手冊中有檢查瀏覽器版本的函數 get_browser()

但這個函數沒經過設定是無法使用的

echo $_SERVER['HTTP_USER_AGENT'];
echo "<br/>"; 
// 第一個參數可以指定user agent,第二個參數設為true回傳陣列,否則回傳物件
$browser = get_browser(null, true);
print_r($browser);

執行

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
Warning: get_browser(): browscap ini directive not set in xxx.php

設定

一、下載 browscap.ini

http://browscap.org/

可選下載PHP browscap.ini的版本有輕量版、完整版或一般版本 ,此檔必須手動更新,以免新版本的瀏覽器無法辨識。

# cd /etc/php.d/
# wget http://browscap.org/stream?q=PHP_BrowsCapINI -O browscap.ini

二、修改 php.ini ,我使用絕對路徑,以免出現錯誤

尋找[browscap]這個tab,加入一行

[browscap]
browscap = /etc/php.d/browscap.ini

重新啟動 APACHE

三、重新執行

我下載完整版本後執行的結果

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0 0
Array ( [browser_name_regex] => ~^mozilla/5\.0 \(.*windows nt 6\.1.*wow64.*\) gecko.* firefox/53\.0.*$~ [browser_name_pattern] => Mozilla/5.0 (*Windows NT 6.1*WOW64*) Gecko* Firefox/53.0* [parent] => Firefox 53.0 [browser_bits] => 32 [platform] => Win7 [platform_version] => 6.1 [platform_description] => Windows 7 [platform_bits] => 64 [platform_maker] => Microsoft Corporation [win64] => 1 [device_name] => Windows Desktop [device_code_name] => Windows Desktop [comment] => Firefox 53.0 [browser] => Firefox [browser_type] => Browser [browser_maker] => Mozilla Foundation [version] => 53.0 [majorver] => 53 [frames] => 1 [iframes] => 1 [tables] => 1 [cookies] => 1 [javascript] => 1 [javaapplets] => 1 [cssversion] => 3 [device_type] => Desktop [device_pointing_method] => mouse [renderingengine_name] => Gecko [renderingengine_version] => 53.0 [renderingengine_description] => For Firefox, Camino, K-Meleon, SeaMonkey, Netscape, and other Gecko-based browsers. [renderingengine_maker] => Mozilla Foundation [browser_modus] => unknown [minorver] => 0 [alpha] => [beta] => [win16] => [win32] => [backgroundsounds] => [vbscript] => [activexcontrols] => [ismobiledevice] => [istablet] => [issyndicationreader] => [crawler] => [isfake] => [isanonymized] => [ismodified] => [aolversion] => 0 [device_maker] => unknown [device_brand_name] => unknown )

相當的詳細

參考資料

[1] Rewi Blog http://rewgaz.wordpress.com/2012/11/20/howto-install-and-use-browscap-respectively-get_browser-for-php-on-ubuntu-debian/

[2] PHP Warning:  Cannot open 'extra/browscap.ini' for reading in Unknown on line 0

此錯誤發生原因為 php.ini的設定檔指定的 browscap.ini找不到,請將他設為絕對路徑或註解掉";"可解決。

[3] PHP函式手冊 http://php.net/manual/en/function.get-browser.php


原文編修 2013-08-31 01:04:41

END

你可能感興趣的文章

設定Google analytics API #2 -- PHP的程式安裝和撰寫 讓你的網站能夠存取你的Google analytics上面的資料

[PHP7] 讀取mysql資料庫的傳統方法 使用傳統預設的方法來連結mysql資料庫

[CodeIgniter 3] 資料庫的使用方法整理2/2 CI3 承襲 CI2,有很多的builder class可以用,依各人的使用習慣,有人喜歡一堆sql字串,有人喜歡用helper

PHP判斷對方瀏覽器語系 多語系的網頁應該主動偵查瀏覽器的語系,配合使用者跳出合適的語系。

[PHP] 如何寫callback function 召回函數(回呼函數) PHP如何寫召回函數或回呼函數(callback function)?

[PHP] 檢查檔案是否是圖檔 使用getimagesize函數檢查檔案是否是圖檔

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

[jQuery] 利用load()來達成ajax的寫法 jQuery中利用load()來達成ajax的寫法,也有人稱他是假的ajax,作法就是..

UTF-8 BOM (Byte Order Mark) 的問題 在 Michael Kaplan 那看到 Every character has a story #4: U+feff

Linux shell 的date表示法 linux下SHELL中的date表示法

為什麼要重造輪子? 什麼輪子?造什麼輪子?我為什麼要重造輪子?

[JAVA] JWS, JWT, JWE, JOSE是什麼? [JAVA] JWS, JWT, JWE, JOSE是什麼?非常的複雜,儘量來搞清楚..