User Agent Class
User Agent Class มีฟังก์ชันช่วยในการระบุข้อมูลเกี่ยวกับบราวเซอร์ , อุปกรณ์เคลื่อนที่, หรือหุ่นยนต์ที่มายังเว็บไซต์ของท่าน ยิ่งไปกว่านั้นคุณสามารถที่จะเอาข้อมูลอ้างอิ่งร่วมถึงภาษาและข้อมูลกลุ่มตัวอักษรที่สนับสนุน
เริ่มต้นใช้คลาส
เหมือนคลาสอื่นๆของ CodeIgniter คลาส User Agent นั้นเริ่มต้นได้ในตัวควบคุม(controller) โดยใช้ฟังก์ชัน $this->load->library
$this->load->library('user_agent');
เมื่อโหลดแล้วคุณสามารถใช้ออบเจ็ค user agent ได้โดยการใช้ $this->agent
คำนิยาม User Agent
คำนิยามต่างๆของ user agent อยู่ในไฟล์ปรับแต่งที่ application/config/user_agents.php. คุณสามารถเพิ่มเติมได้โดยใส่ลงไปในอาเรย์ user agent ถ้าคุณต้องการ
ตัวอย่างเช่น
เมื่อคลาส User Agent ถูกสร้างขึ้นมาแล้ว มันจะพยายามตัดสินใจว่า user agent แบบไหนที่เข้ามาในเว็บไซต์คุณเป็นเว็บบราวเซอร์ , อุปกรณ์เคลื่อนที่, หรือหุ่นยนต์ มันจะยังรวบรวมข้อมูลระบบปฎิบัติการด้วยถ้าสามารถร่วมรวมได้
$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(); // ระบบปฎิบัติการ (Windows, Linux, Mac, อื่นๆ)
ฟังก์ชันอ้างอิง
$this->agent->is_browser()
Returns TRUE/FALSE (boolean) if the user agent is a known web browser.
$this->agent->is_mobile()
Returns TRUE/FALSE (boolean) if the user agent is a known mobile device.
$this->agent->is_robot()
Returns TRUE/FALSE (boolean) if the user agent is a known robot.
Note: The user agent library only contains the most common robot definitions. It is not a complete list of bots. There are hundreds of them so searching for each one would not be very efficient. If you find that some bots that commonly visit your site are missing from the list you can add them to your application/config/user_agents.php file.
$this->agent->is_referral()
Returns TRUE/FALSE (boolean) if the user agent was referred from another site.
$this->agent->browser()
Returns a string containing the name of the web browser viewing your site.
$this->agent->version()
Returns a string containing the version number of the web browser viewing your site.
$this->agent->mobile()
Returns a string containing the name of the mobile device viewing your site.
$this->agent->robot()
Returns a string containing the name of the robot viewing your site.
$this->agent->platform()
Returns a string containing the platform viewing your site (Linux, Windows, OS X, etc.).
$this->agent->referrer()
The referrer, if the user agent was referred from another site. Typically you'll test for this as follows:
if ($this->agent->is_referral())
{
echo $this->agent->referrer();
}
$this->agent->agent_string()
Returns a string containing the full user agent string. Typically it will be something like this:
Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.4) Gecko/20060613 Camino/1.0.2
$this->agent->accept_lang()
Lets you determine if the user agent accepts a particular language. Example:
if ($this->agent->accept_lang('en'))
{
echo 'You accept English!';
}
Note: This function is not typically very reliable since some browsers do not provide language info, and even among those that do, it is not always accurate.
$this->agent->accept_charset()
Lets you determine if the user agent accepts a particular character set. Example:
if ($this->agent->accept_charset('utf-8'))
{
echo 'You browser supports UTF-8!';
}
Note: This function is not typically very reliable since some browsers do not provide character-set info, and even among those that do, it is not always accurate.