W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
用戶代理類提供的功能可幫助識別有關(guān)瀏覽器,移動(dòng)設(shè)備或機(jī)器人訪問您的站點(diǎn)的信息。
用戶代理類始終可以直接從當(dāng)前IncomingRequest實(shí)例獲得。默認(rèn)情況下,您的控制器中將有一個(gè)請求實(shí)例,您可以從以下實(shí)例中檢索User Agent類:
$agent = $this->request->getUserAgent();
用戶代理名稱定義位于以下配置文件中: app / Config / UserAgents.php。如果需要,您可以將項(xiàng)目添加到各種用戶代理陣列中。
初始化用戶代理類后,它將嘗試確定瀏覽您站點(diǎn)的用戶代理是Web瀏覽器,移動(dòng)設(shè)備還是機(jī)器人。如果可用,它還將收集平臺信息:
$agent = $this->request->getUserAgent();
if ($agent->isBrowser())
{
$currentAgent = $agent->getBrowser().' '.$agent->getVersion();
}
elseif ($agent->isRobot())
{
$currentAgent = $this->agent->robot();
}
elseif ($agent->isMobile())
{
$currentAgent = $agent->getMobile();
}
else
{
$currentAgent = 'Unidentified User Agent';
}
echo $currentAgent;
echo $agent->getPlatform(); // Platform info (Windows, Linux, Mac, etc.)
CodeIgniter\HTTP\UserAgent
isBrowser
([$key = NULL])
參數(shù): | $key (string) – Optional browser name |
---|---|
返回: | TRUE if the user agent is a (specified) browser, FALSE if not |
返回類型: | bool |
如果用戶代理是已知的Web瀏覽器,則返回TRUE / FALSE(boolean)。
if ($agent->isBrowser('Safari'))
{
echo 'You are using Safari.';
}
elseif ($agent->isBrowser())
{
echo 'You are using a browser.';
}
注解
在此示例中,字符串“ Safari”是瀏覽器定義列表中的數(shù)組鍵。 如果要添加新的瀏覽器或更改字符串,可以在 app / Config / UserAgents.php 中找到此列表。
isMobile
([$key = NULL])
參數(shù): | $key (string) – Optional mobile device name |
---|---|
返回: | TRUE if the user agent is a (specified) mobile device, FALSE if not |
返回類型: | bool |
如果用戶代理是已知的移動(dòng)設(shè)備,則返回TRUE / FALSE(boolean)。
if ($agent->isMobile('iphone'))
{
echo view('iphone/home');
}
elseif ($agent->isMobile())
{
echo view('mobile/home');
}
else
{
echo view('web/home');
}
isRobot
([$key = NULL])
參數(shù): | $key (string) – Optional robot name |
---|---|
返回: | TRUE if the user agent is a (specified) robot, FALSE if not |
返回類型: | bool |
如果用戶代理是已知的機(jī)械手,則返回TRUE / FALSE(boolean)。
注解
用戶代理庫僅包含最常見的機(jī)械手定義。 它不是機(jī)器人的完整列表。 它們有數(shù)百個(gè),因此搜索每個(gè)對象將不是很有效。 如果您發(fā)現(xiàn)列表中缺少一些經(jīng)常訪問您網(wǎng)站的漫游器,則可以將它們添加到您的app / Config / UserAgents.php文件中。
isReferral
()
返回: | TRUE if the user agent is a referral, FALSE if not |
---|---|
返回類型: | bool |
如果從另一個(gè)站點(diǎn)引用了用戶代理,則返回TRUE / FALSE(boolean)。
getBrowser
()
返回: | Detected browser or an empty string |
---|---|
返回類型: | string |
返回一個(gè)字符串,其中包含查看您的網(wǎng)站的Web瀏覽器的名稱。
getVersion
()
返回: | Detected browser version or an empty string |
---|---|
返回類型: | string |
返回一個(gè)字符串,其中包含查看您的網(wǎng)站的Web瀏覽器的版本號。
getMobile
()
返回: | Detected mobile device brand or an empty string |
---|---|
返回類型: | string |
返回一個(gè)字符串,其中包含查看您的站點(diǎn)的移動(dòng)設(shè)備的名稱。
getRobot
()
返回: | Detected robot name or an empty string |
---|---|
返回類型: | string |
返回一個(gè)字符串,其中包含查看您的網(wǎng)站的機(jī)器人的名稱。
getPlatform
()
返回: | Detected operating system or an empty string |
---|---|
返回類型: | string |
返回一個(gè)字符串,其中包含查看您的網(wǎng)站的平臺(Linux,Windows,OS X等)。
getReferrer
()
返回: | Detected referrer or an empty string |
---|---|
返回類型: | string |
引薦來源網(wǎng)址(如果用戶代理是從另一個(gè)站點(diǎn)引薦的)。 通常,您將對此進(jìn)行如下測試:
if ($agent->isReferral())
{
echo $agent->referrer();
}
getAgentString
()
返回: | Full user agent string or an empty string |
---|---|
返回類型: | string |
返回包含完整用戶代理字符串的字符串。 通常情況如下:
Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.4) Gecko/20060613 Camino/1.0.2
parse
($string)
參數(shù): | $string (string) – A custom user-agent string |
---|---|
返回類型: | void |
解析自定義用戶代理字符串,該字符串不同于當(dāng)前訪問者報(bào)告的字符串。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: