directory search
Array Array Helper Benchmarking Benchmarking Class Caching Caching Driver Calendaring Calendaring Class CAPTCHA CAPTCHA Helper Config Config Class Cookie Cookie Helper Database Connecting to your Database Custom Function Calls Database Caching Class Database Configuration Database Forge Class Database Metadata Database Quick Start: Example Code Database Reference Database Utility Class DB Driver Reference Generating Query Results Queries Query Builder Class Query Helper Methods Transactions Date Date Helper Directory Directory Helper Download Download Helper Email Email Class Email Helper Encrypt Encrypt Class Encryption Encryption Library File File Helper File Uploading File Uploading Class Form Form Helper Form Validation Form Validation FTP FTP Class Functions compatibility_functions common_functions HTML HTML Helper HTML Table HTML Table Class Image Manipulation Image Manipulation Class Inflector Inflector Helper Input Input Class Javascript Javascript Class Language Language Class Language Helper Loader Loader Class Migrations Migrations Class Number Number Helper Output Output Class Pagination Pagination Class Path Path Helper Security Security Class Security Helper Session Session Library Shopping Cart Shopping Cart Class Smiley Smiley Helper String String Helper Template Parser Template Parser Class Text Text Helper Trackback Trackback Class Typography Typography Class Typography Helper Unit Testing Unit Testing Class URI URL User Agent XML XML-RPC and XML-RPC Server Zip Encoding Zip Encoding Class XML-RPC and XML-RPC Server Classes XML Helper User Agent Class URL Helper URI Class
characters

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

  • 使用用户代理类

    • 初始化类

    • 用户代理定义

  • 类参考

使用用户代理类

初始化类

像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
分析与当前访问者报告的不同的自定义用户代理字符串。
Previous article: Next article: