Basit Tarayıcı ve İşletim Sistemi Belirleme Sınıfı

PHP
49 lines
<?php
class TarayiciTipi{
var $bilgi;
function TarayiciTipi(){
$this->bilgi = $_SERVER["HTTP_USER_AGENT"];
}
function tarayiciIsmiGetir(){
$isim = "";
if ($pos=strpos($this->bilgi,"Chrome")){
$isim = trim(substr($this->bilgi,$pos,1000));
}elseif ($pos=strpos($this->bilgi,"Firefox")){
$isim = trim(substr($this->bilgi,$pos,1000));
}elseif($pos=strpos($this->bilgi,"Safari")){
$isim = trim(substr($this->bilgi,$pos,1000));
}elseif($pos=strpos($this->bilgi,"Opera")){
$isim = trim(substr($this->bilgi,$pos,1000));
}elseif($pos=strpos($this->bilgi,"K-Meleon")){
$isim = trim(substr($this->bilgi,$pos,1000));
}elseif($pos=strpos($this->bilgi,"Firebird")){
$isim = trim(substr($this->bilgi,$pos,1000));
}elseif($pos=strpos($this->bilgi,"Netscape")){
$isim = trim(substr($this->bilgi,$pos,1000));
}elseif (preg_match("/Konqueror/",$this->bilgi)){
$isim = "Konqueror";
}elseif(preg_match("/Mozilla/",$this->bilgi)){
$isim = "Mozilla/5.0";
}else{
$isim = "Diğer";
}
return ($isim);
}
function isletimSistemiIsmiGetir(){
$isim = "";
if (preg_match("/Windows/",$this->bilgi)){
$isim = "Windows";
}elseif (preg_match("/Linux/",$this->bilgi)){
$isim = "Linux !";
}elseif (preg_match("/Unix/",$this->bilgi)){
$isim = "Unix";
}else{
$isim = "Diğer";
}
return $isim;
}
}
$t = new TarayiciTipi();
echo "Tarayıcı Tipi : ".$t->tarayiciIsmiGetir()."<br>";
echo "İşletim Sistemi : ".$t->isletimSistemiIsmiGetir();
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

 

Basit Tarayıcı Bilgileri Tanıma Sınıfı

PHP
49 lines
<?php
class tarayici{
var $sonuc;
function tarayici($bilgi){
$sistem="Windows|iPad|iPhone|Macintosh|Android|BlackBerry";
$tarayici="Firefox|Chrome";
$tarayici_v="Safari|Mobile";
$motor="Gecko|Trident|Webkit|Presto";
$duzenli="/((Mozilla)\/[\d\.]+|(Opera)\/[\d\.]+)\s\(.*?((MSIE)\s([\d\.]+).*?(Windows)|({$sistem})).*?\s.*?({$motor})[\/\s]+[\d\.]+(\;\srv\:([\d\.]+)|.*?).*?(Version[\/\s]([\d\.]+)(.*?({$tarayici_v})|$)|(({$tarayici})[\/\s]+([\d\.]+))|$).*/i";
$degistir='$7$8|$2$3|$9|${17}${15}$5$3|${18}${13}$6${11}';
$bilgi_dizi=explode("|",preg_replace($duzenli, $degistir, $bilgi, PREG_PATTERN_ORDER));
if(count($bilgi_dizi)>1){
$sonuc['tarayici'] =$bilgi_dizi[3];
if (preg_match("/^[\d]+\.[\d]+(?:\.[\d]{0,2}$)?/",$bilgi_dizi[4],$eslesme)){
$sonuc['versiyon']=$eslesme[0];
}else{
$sonuc['versiyon']=$bilgi_dizi[4];
}
$sonuc['sistem']=$bilgi_dizi[0];
$sonuc['insa']=$bilgi_dizi[2];
$sonuc['tip']=$bilgi_dizi[1];
}else{
return false;
}
switch(strtolower($sonuc['tarayici'])){
case "msie":
case "trident":
$sonuc['tarayici']="Internet Explorer";
break;
case "": // IE 11 is a steamy turd (thanks Microsoft...)
if (strtolower($sonuc['insa']) == "trident"){
$sonuc['tarayici']="Internet Explorer";
}
break;
}
switch(strtolower($sonuc['sistem'])){
case "android":
case "blackberry":
if ($sonuc['tarayici'] =="Safari" || $sonuc['tarayici'] == "Mobile" || $sonuc['tarayici'] == ""){
$sonuc['tarayici']="{$sonuc['sistem']} mobile";
}
break;
}
$this->sonuc=$sonuc;
}
}
$t=new tarayici($_SERVER['HTTP_USER_AGENT']);
print_r($t->sonuc);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
8 lines
Array
(
[tarayici] => Chrome
[versiyon] => 66.0
[sistem] => Windows
[insa] => WebKit
[tip] => Mozilla
)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX