شرح معرفة متصفح المستخدم ونظام التشغيل عبر PHP

سنتعرف فى تلك التدوينة على كلاس جديد وظيفته معرفة المتصفح الذي يستخدمه الزائر ونظام تشغيله الذي يعمل به،  أولاً سأدرج لكم محتوى الكلاس هنا، ومن ثم سأعرض طريقة إستخدامها ببساطة، فالكلاس واضح جدًا ولا يحتاج إلى شرح أصلاً.
طبعًا تستطيع من خلال مشاهدة محتوى الكلاس معرفة
طريقة الإستخدام، الكلاس ليس من برمجتي.









<?PHP
class OS_BR{

private $agent = "";
private $info = array(); 
function __construct(){
$this->agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : NULL;
$this->getBrowser();
$this->getOS();

function getBrowser(){
$browser = array("Navigator" => "/Navigator(.*)/i",
"Firefox" => "/Firefox(.*)/i",
"Internet Explorer" => "/MSIE(.*)/i",
"Google Chrome" => "/chrome(.*)/i", "MAXTHON" => "/MAXTHON(.*)/i",
"Opera" => "/Opera(.*)/i",
); foreach($browser as $key => $value){
if(preg_match($value, $this->agent)){
$this->info = array_merge($this->info,array("Browser" => $key));
$this->info = array_merge($this->info,array("Version" =>
$this->getVersion($key, $value, $this->agent)));
break;
}else{
$this->info = array_merge($this->info,array("Browser" => "UnKnown"));
$this->info = array_merge($this->info,array("Version" => "UnKnown"));
}
}
return $this->info['Browser'];

function getOS(){
$OS = array("Windows" => "/Windows/i",
"Linux" => "/Linux/i",
"Unix" => "/Unix/i",
"Mac" => "/Mac/i"
);
foreach($OS as $key => $value){
if(preg_match($value, $this->agent)){
$this->info = array_merge($this->info,array("Operating System" => $key));
break;
}
}
return $this->info['Operating System'];
}
function getVersion($browser, $search, $string){
$browser = $this->info['Browser'];
$version = "";
$browser = strtolower($browser);
preg_match_all($search,$string,$match);
switch($browser){
case "firefox": $version = str_replace("/","",$match[1][0]);
break;
case "internet explorer": $version = substr($match[1][0],0,4);
break;
case "opera": $version = str_replace("/","",substr($match[1][0],0,5));
break;
case "navigator": $version = substr($match[1][0],1,7);
break;
case "maxthon": $version = str_replace(")","",$match[1][0]); break;
case "google chrome": $version = substr($match[1][0],1,10);
}
return $version;
}
function showInfo($switch){
$switch = strtolower($switch);
switch($switch){
case "browser": return $this->info['Browser'];
break;
case "os": return $this->info['Operating System'];
break;
case "version": return $this->info['Version'];
break; 
case "all" : return array($this->info["Version"], $this->info['Operating System'], $this->info['Browser']);
break;
default: return "Unkonw";
break; 
}
}
}
?>

- مثال للإستخدام:
<php
$obj = new OS_BR();
// // if you want to show one by one information then try showInfo() function // get browser
echo $obj->showInfo('browser');
// get browser version
echo $obj->showInfo('version');
// get Operating system
echo $obj->showInfo('os');
// get all information and it returns an array
echo "<pre>".print_r($obj->showInfo("all"),true)."</pre>";
// out put
Array
(
[0] => 3.6b5
[1] => Windows
[2] => Firefox
)
?>

نلاحظ أن مخرجات الكلاس تكون على هيئة مصفوفة مخزنة في:
$obj->showInfo("all")

About the Author

Admin

Author & Editor

Has laoreet percipitur ad. Vide interesset in mei, no his legimus verterem. Et nostrum imperdiet appellantur usu, mnesarchum referrentur id vim.

 
Club2Informatique © 2015 - Designed by Club2informatique