?
This document uses PHP Chinese website manual Release
用戶代理類提供的功能有助于識(shí)別瀏覽器,移動(dòng)設(shè)備或訪問您的網(wǎng)站的機(jī)器人的信息。此外,您還可以獲取引薦來源信息以及語言和受支持的字符集信息。
使用用戶代理類
初始化類
用戶代理定義
例
類參考
像CodeIgniter中的大多數(shù)其他類一樣,User Agent類在您的控制器中使用$ this-> load-> library函數(shù)進(jìn)行初始化:
$this->load->library('user_agent');
加載后,該對象將可用: $this->agent
用戶代理名稱定義位于位于application / config / user_agents.php的配置文件中。如有需要,您可以將項(xiàng)目添加到各種用戶代理陣列中。
在初始化用戶代理類時(shí),它將嘗試確定瀏覽您的站點(diǎn)的用戶代理是Web瀏覽器,移動(dòng)設(shè)備還是機(jī)器人。如果可用,它也會(huì)收集平臺(tái)信息。
$this->load->library('user_agent');if ($this->agent->is_browser()){ $agent = $this->agent->browser().' '.$this->agent->version();}elseif ($this->agent->is_robot()){ $agent = $this->agent->robot();}elseif ($this->agent->is_mobile()){ $agent = $this->agent->mobile();}else{ $agent = 'Unidentified User Agent';}echo $agent;echo $this->agent->platform(); // Platform info (Windows, Linux, Mac, etc.)
class CI_User_agentis_browser([$key = NULL])
參數(shù): | $ key(字符串) - 可選的瀏覽器名稱 |
---|---|
返回: | 如果用戶代理是(指定的)瀏覽器則為TRUE,否則為FALSE |
返回類型: | 布爾 |
$ key(字符串) - 可選的瀏覽器名稱
Returns: TRUE if the user agent is a (specified) browser, FALSE if not
Return type: bool
Returns TRUE/FALSE (boolean) if the user agent is a known web browser.
if ($this->agent->is_browser('Safari')) { echo 'You are using Safari.'; } elseif ($this->agent->is_browser()) { echo 'You are using a browser.'; }
注意
本例中的字符串“Safari”是瀏覽器定義列表中的數(shù)組鍵。你可以在application / config / user_agents.php中找到這個(gè)列表,如果你想添加新的瀏覽器或改變叮咬。
is_mobile([$key = NULL])
參數(shù): | $ key(字符串) - 可選的移動(dòng)設(shè)備名稱 |
---|---|
返回: | 如果用戶代理是(指定的)移動(dòng)設(shè)備則為TRUE,否則為FALSE |
返回類型: | 布爾 |
$ key(字符串) - 可選的移動(dòng)設(shè)備名稱
返回:如果用戶代理是(指定的)移動(dòng)設(shè)備,則返回TRUE,否則返回FALSE
Return type: bool
如果用戶代理是已知的移動(dòng)設(shè)備,則返回TRUE / FALSE(布爾值)。
if($ this-> agent-> is_mobile('iphone')){$ this-> load-> view('iphone / home'); } elseif($ this-> agent-> is_mobile()){$ this-> load-> view('mobile / home'); } else {$ this-> load-> view('web / home'); }
is_robot([$key = NULL])
參數(shù): | $ key(字符串) - 可選機(jī)器人名稱 |
---|---|
返回: | 如果用戶代理是(指定的)機(jī)器人,則為TRUE,否則為FALSE |
返回類型: | 布爾 |
$ key(字符串) - 可選機(jī)器人名稱
如果用戶代理是(指定)機(jī)器人,則返回TRUE;否則返回FALSE
Return type: bool
Returns TRUE/FALSE (boolean) if the user agent is a known robot.
注意
用戶代理庫只包含最常見的機(jī)器人定義。這不是一個(gè)完整的機(jī)器人列表。有數(shù)百個(gè),因此搜索每一個(gè)都不會(huì)很有效。如果您發(fā)現(xiàn)列表中缺少一些通常訪問您站點(diǎn)的機(jī)器人,您可以將它們添加到application / config / user_agents.php文件中。
is_referral()
返回: | 如果用戶代理是推薦,則為TRUE,否則為FALSE |
---|---|
返回類型: | 布爾 |
browser()
返回: | 檢測到瀏覽器或空字符串 |
---|---|
返回類型: | 串 |
version()
返回: | 檢測到的瀏覽器版本或空字符串 |
---|---|
返回類型: | 串 |
mobile()
返回: | 檢測到移動(dòng)設(shè)備品牌或空字符串 |
---|---|
返回類型: | 串 |
robot()
返回: | 檢測到的機(jī)器人名稱或空字符串 |
---|---|
返回類型: | 串 |
platform()
返回: | 檢測到操作系統(tǒng)或空字符串 |
---|---|
返回類型: | 串 |
referrer()
返回: | 檢測到的推薦人或空字符串 |
---|---|
返回類型: | 串 |
agent_string()
返回: | 完整的用戶代理字符串或一個(gè)空字符串 |
---|---|
返回類型: | 串 |
accept_lang([$lang = 'en'])
參數(shù): | $ lang(字符串) - 語言鍵 |
---|---|
返回: | 如果提供語言被接受,則為TRUE,否則為FALSE |
返回類型: | 布爾 |
$ lang(字符串) - 語言鍵
返回:如果提供的語言被接受,則返回TRUE,否則返回FALSE
Return type: bool
讓您確定用戶代理是否接受特定語言。例:
if ($this->agent->accept_lang('en')) { echo 'You accept English!'; }
注意
由于某些瀏覽器不提供語言信息,因此這種方法通常不可靠,即使在那些瀏覽器中,也不總是準(zhǔn)確的。
languages()
返回: | 已接受語言的數(shù)組列表 |
---|---|
返回類型: | 排列 |
accept_charset([$charset = 'utf-8'])
參數(shù): | $ charset(字符串) - 字符集 |
---|---|
返回: | 如果字符集被接受則為TRUE,否則為FALSE |
返回類型: | 布爾 |
$ charset(字符串) - 字符集
返回:如果字符集被接受,則返回TRUE,否則返回FALSE
Return type: bool
讓您確定用戶代理是否接受特定的字符集。例:
if ($this->agent->accept_charset('utf-8')) { echo 'You browser supports UTF-8!'; }
注意
這種方法通常不是很可靠,因?yàn)橛行g覽器不提供字符集信息,甚至在那些瀏覽器中,它也不總是準(zhǔn)確的。
charsets()
返回: | 接受的字符集的數(shù)組列表 |
---|---|
返回類型: | 排列 |
parse($string)
參數(shù): | $ string(string) - 一個(gè)自定義的用戶代理字符串 |
---|---|
返回類型: | void |
$ string(string) - 一個(gè)自定義的用戶代理字符串
Return type: void
分析與當(dāng)前訪問者報(bào)告的不同的自定義用戶代理字符串。