الدالة get_browser()‎ في PHP

من موسوعة حسوب
< PHP
اذهب إلى التنقل اذهب إلى البحث

(PHP 4, PHP 5, PHP 7)

تعيد الدالة get_browser()‎ الميزات التي يدعمها متصفح المستخدم.

الوصف

mixed get_browser ([ string $user_agent [, bool $return_array = FALSE ]] )

تحاول هذه الدالة تحديد الميزات التي يدعمها متصفح المستخدم من خلال البحث عن معلومات المتصفح في ملف browscap.ini.

المعاملات

user_agent

متصفح المستخدم المراد تحليله. افتراضيًا، تستخدم قيمة ترويسة User-Agent في HTTP لكن يمكنك تمرير قيمة إلى هذا المعامل للبحث عن معلومات متصفحٍ آخر على سبيل المثال.

يمكنك تجاوز هذا المعامل بضبط قيمته إلى القيمة NULL.

return_array

إذا أُسْنِدَ للمعامل return_array القيمة TRUE فستعيد الدالة get_browser()‎ مصفوفةً بدلًا من كائن.

القيم المعادة

تُعاد المعلومات على شكل كائن أو مصفوفة يحتوي على عناصر بيانات مختلفة تمثل أرقام الإصدارات الرئيسية والثانوية للمتصفح وسلسلة المعرّف، وقيم TRUE / FALSE لدعم ميزات مثل الإطارات، و JavaScript، وملفات تعريف الارتباط (cookies)، وهكذا.

تعني قيمة ملفات تعريف الارتباط (cookies) أن المتصفح نفسه قادر على قبول ملفات تعريف الارتباط ولا يعني أن المستخدم قد مكّن المتصفح من قبول ملفات تعريف الارتباط أم لا. والطريقة الوحيدة لاختبار قبول ملفات تعريف الارتباط هي محاولة ضبطها باستخدام الدالة setcookie()‎، ثم إعادة تحميل المستند والتحقق من وجود القيمة.

أمثلة

المثال 1: عرض جميع المعلومات حول متصفح المستخدم

<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";
$browser = get_browser(null, true);
print_r($browser);
?>

سينتج المثال السابق شيئًا يشبه الآتي:

Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36
Array
(
  [browser_name_regex] => ~^mozilla/5\.0 \(.*windows nt 6\.3.*win64. x64.*\).*applewebkit.*\(.*khtml.*like.*gecko.*\).*chrome/.* safari/.*$~
  [browser_name_pattern] => Mozilla/5.0 (*Windows NT 6.3*Win64? x64*)*applewebkit*(*khtml*like*gecko*)*Chrome/* Safari/*
 [parent] => Chrome Generic
 [browser_bits] => 64
 [platform] => Win8.1
 [platform_version] => 6.3
 [platform_description] => Windows 8.1
 [platform_bits] => 64
 [platform_maker] => Microsoft Corporation
 [win64] => 1
 [comment] => Chrome Generic
 [browser] => Chrome
 [browser_type] => Browser
 [browser_maker] => Google Inc
 [frames] => 1
 [iframes] => 1
 [tables] => 1
 [cookies] => 1
 [javascript] => 1
 [cssversion] => 3
 [device_name] => Windows Desktop
 [device_type] => Desktop
 [device_pointing_method] => mouse
 [device_code_name] => Windows Desktop
 [renderingengine_name] => Blink
 [renderingengine_description] => a WebKit Fork by Google
 [renderingengine_maker] => Google Inc
 [browser_modus] => unknown
 [version] => 0.0
 [majorver] => 0
 [minorver] => 0
 [alpha] =>
 [beta] =>
 [win16] =>
 [win32] =>
 [backgroundsounds] =>
 [vbscript] =>
 [javaapplets] =>
 [activexcontrols] =>
 [ismobiledevice] =>
 [istablet] =>
 [issyndicationreader] =>
 [crawler] =>
 [isfake] =>
 [isanonymized] =>
 [ismodified] =>
 [aolversion] => 0
 [device_maker] => unknown
 [device_brand_name] => unknown
 [renderingengine_version] => unknown
)

ملاحظات

ملاحظة: لكي يعمل هذا، يجب أن تشير ضبط browscap الخاص بك في php.ini إلى الموقع الصحيح لملف browscap.ini على نظامك.

لا يأتي ملف browscap.ini مع PHP، ولكن يمكنك العثور على ملف php_browscap.ini محدثًا هنا.

صحيحٌ أنَّ الملف browscap.ini يحتوي على معلومات حول العديد من المتصفحات، فإنه يعتمد على تحديثات المستخدم للحفاظ على قاعدة البيانات الحالية. تنسيق الملف بسيطٌ جدًا ولا يحتاج إلى شرح.

مصادر