用户代理类 | User Agent Class

User Agent Class

用户代理类提供的功能有助于识别浏览器,移动设备或访问您的网站的机器人的信息。此外,您还可以获取引荐来源信息以及语言和受支持的字符集信息。

  • 使用用户代理类

使用用户代理类

初始化类

像CodeIgniter中的大多数其他类一样,User Agent类在您的控制器中使用$ this-> load-> library函数进行初始化:

$this->load->library('user_agent'

加载后,该对象将可用: $this->agent

用户代理定义

用户代理名称定义位于位于application / config / user_agents.php的配置文件中。如有需要,您可以将项目添加到各种用户代理阵列中。

在初始化用户代理类时,它将尝试确定浏览您的站点的用户代理是Web浏览器,移动设备还是机器人。如果可用,它也会收集平台信息。

$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])

参数:$ 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”是浏览器定义列表中的数组键。你可以在application / config / user_agents.php中找到这个列表,如果你想添加新的浏览器或改变叮咬。

is_mobile([$key = NULL])

参数:$ key(字符串) - 可选的移动设备名称
返回:如果用户代理是(指定的)移动设备则为TRUE,否则为FALSE
返回类型:布尔

  • $ key字符串) - 可选的移动设备名称

返回:如果用户代理是(指定的)移动设备,则返回TRUE,否则返回FALSE

Return type: bool

如果用户代理是已知的移动设备,则返回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])

参数:$ key(字符串) - 可选机器人名称
返回:如果用户代理是(指定的)机器人,则为TRUE,否则为FALSE
返回类型:布尔

  • $ key字符串) - 可选机器人名称

如果用户代理是(指定)机器人,则返回TRUE;否则返回FALSE

Return type: bool

Returns TRUE/FALSE (boolean) if the user agent is a known robot.

注意

用户代理库只包含最常见的机器人定义。这不是一个完整的机器人列表。有数百个,因此搜索每一个都不会很有效。如果您发现列表中缺少一些通常访问您站点的机器人,您可以将它们添加到application / config / user_agents.php文件中。

is_referral()

返回:如果用户代理是推荐,则为TRUE,否则为FALSE
返回类型:布尔

browser()

返回:检测到浏览器或空字符串
返回类型:

version()

返回:检测到的浏览器版本或空字符串
返回类型:

mobile()

返回:检测到移动设备品牌或空字符串
返回类型:

robot()

返回:检测到的机器人名称或空字符串
返回类型:

platform()

返回:检测到操作系统或空字符串
返回类型:

referrer()

返回:检测到的推荐人或空字符串
返回类型:

agent_string()

返回:完整的用户代理字符串或一个空字符串
返回类型:

accept_lang([$lang = 'en'])

参数:$ lang(字符串) - 语言键
返回:如果提供语言被接受,则为TRUE,否则为FALSE
返回类型:布尔

  • $ lang字符串) - 语言键

返回:如果提供的语言被接受,则返回TRUE,否则返回FALSE

Return type: bool

让您确定用户代理是否接受特定语言。例:

if ($this->agent->accept_lang('en')) { echo 'You accept English!'; }

注意

由于某些浏览器不提供语言信息,因此这种方法通常不可靠,即使在那些浏览器中,也不总是准确的。

languages()

返回:已接受语言的数组列表
返回类型:排列

accept_charset([$charset = 'utf-8'])

参数:$ charset(字符串) - 字符集
返回:如果字符集被接受则为TRUE,否则为FALSE
返回类型:布尔

  • $ charset字符串) - 字符集

返回:如果字符集被接受,则返回TRUE,否则返回FALSE

Return type: bool

让您确定用户代理是否接受特定的字符集。例:

if ($this->agent->accept_charset('utf-8')) { echo 'You browser supports UTF-8!'; }

注意

这种方法通常不是很可靠,因为有些浏览器不提供字符集信息,甚至在那些浏览器中,它也不总是准确的。

charsets()

返回:接受的字符集的数组列表
返回类型:排列

parse($string)

参数:$ string(string) - 一个自定义的用户代理字符串
返回类型:void

  • $ stringstring) - 一个自定义的用户代理字符串

Return type: void

分析与当前访问者报告的不同的自定义用户代理字符串。