Agent 类別

Agent 类別能让你擷取關於瀏覽器的类型、版本、平台或操作系统等基於客戶使用者代理字串資訊。

配置

Agent 类別使用 PHP get_browser() 函式,它试圖確定用戶的瀏覽器的能力,在 browscap.ini 档案尋找瀏覽器的資訊。

以下全域的值可被定義:

參数 类型 預設 描述
browscap 陣列
array(
	'enabled' => true,
	'url'     => 'http://browsers.garykeith.com/stream.asp?BrowsCapINI',
	 'method' => 'wrapper',
	 'file'   => '/tmp/php_browscap.ini',
)
browscap.ini 取回配置。
cache 陣列
array(
	'driver'     => '',
	'expiry'     => 604800,
	'identifier' => 'fuel.agent',
)
browscap.ini 快取配置。
Browscap.ini 配置

如果 PHP沒有被配置为使用 browscap.ini 档案,Agent 类別将取回在 config/agent.php 配置中定義位置的档案,并在本地快取以再利用,此快取将定期更新, 根據配置中定義的逾時值。

參数 类型 預設 描述
enabled 布林
true
啟用 browscap.ini 档案的下载,如果停用,且 PHP 沒有被配置透過 get_browser() 的 browscap 功能,瀏覽器檢测会停用,且 Agent 类別将回傳 'unknown'。
method 字串
'wrapper'
方法用於取回 browscap.ini 文件。支援的方法是:
  • 'wrapper':此方法使用 file_get_contents() 函式。这是首選方案,但它可能会被你的託管提供商禁用。
  • 'curl':此方法使用 curl 擴充。你可以在 'wrapper' 的方法不起作用時使用。
  • 'local':使用外部方法來下载 browscap.ini 文件(例如一个排程工作)。
  • 'sockets':留作将來使用
url 字串
'http://browsers.garykeith.com/stream.asp?BrowsCapINI'
給 'wrapper'、'curl' 和 'sockets' 方法使用,要下载一个 browscap.ini 档案更新的路徑。
file 字串
'/tmp/php_browscap.ini'
給 'local' 方法使用,在本地儲存系统的 browscap.ini 档案名稱及位置。
快取配置

如果 Agent 类別被配置为处理 browscap.ini 档案,它将快取 ini 档案解析器和个人使用者代理請求的結果, 以增加类別的回應時間。这些配置設定確定資料如何被快取,更多資訊,請見 Cache 类別文件。

參数 类型 預設 描述
driver 字串
''
要快取代理資料的快取驅动程序,如果你留空,被配置在快取配置的預設快取驅动程序将被使用。
expiry 整数
604800
直到快取資料過期的秒数,預設是 7 天,因为 browscap.ini 档案不常變更,建議不要一天刷新超過一次。
最小值設定是 7200 秒(兩小時),如果你太常下载,你的伺服器将被 browscap 網站封鎖!
identifier 字串
'fuel.agent'
給快取名稱的前綴。