Szerző Téma: Böngészõ (és operációs rendszer) meghatározása  (Megtekintve 5230 alkalommal)

0 Felhasználó és 1 vendég van a témában

Nem elérhető rajmund

  • Törzstag
  • **
  • Hozzászólások: 460
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #30 Dátum: 2010. július 25., 14:35:08 »
Javítva! Új fájl meg mellékelve, majd talán vmikor belerakom az internetszolgáltató felügyelőt.


Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #29 Dátum: 2010. július 25., 10:54:11 »
Van egy sanda gyanúm, hogy az eregikre gondolsz,
Többek között igen. És PHP4-es osztály volt. De az működésben nem befolyásol. 
Az új kód tökéletesen fut Opera kivételével, gőzöm sincs hogy miért :/
Mert az opera rögtön az operával kezdi a user agentet, és az stripos 0-t ad vissza rá. Az pedig logikailag hamis. !== false vizsgálat kéne legalább. Vagy stripos helyett stristr. ( vagy preg )
Egyszerűen létezem, és lézengek a Földön,
mint idióta szellem, kinek kastélya a börtön.

Nem elérhető Kazsa

  • Felhasználó
  • Hozzászólások: 83
    • CsirkeNevelde
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #28 Dátum: 2010. július 25., 01:49:46 »
Szép munka O0

Nem elérhető rajmund

  • Törzstag
  • **
  • Hozzászólások: 460
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #27 Dátum: 2010. július 25., 01:15:59 »
És ma már biztosan másképp is írná.

Van egy sanda gyanúm, hogy az eregikre gondolsz, kijavítottam őket, plusz beraktam a chrome-ot és mellé még pár gyakran használt böngészőt(még letesztelen őket), meg egy saját széleskörű ip és egyéb adatot lekérdező scriptet, remélem nem gond warner :D

Kód: PHP
  1.  
  2. <?php
  3. /* By Warner, kiegészítés by rajmund; http://phpstudio.hu
  4.  *
  5.  * Operációs rendszer- és böngészőfelismerő (verziószámmal) osztály.
  6.  *
  7.  * Felismert operációs rendszerek:
  8.  *              Microsoft Windows
  9.  *              MacIntosh
  10.  *              Linux
  11.  *              OS/2
  12.  *              BeOS
  13.  *              Ubuntu
  14.  *
  15.  * Felismert böngészők:
  16.  *              Amaya
  17.  *              Galeon
  18.  *              iCab
  19.  *              Internet Explorer (AOL verziók esetén Internet Explorer-nek ismeri fel, de a verziószám az AOL verziószám lesz az IE verziószáma helyett.)
  20.  *              Konqueror
  21.  *              Lynx
  22.  *              Mozilla
  23.  *              Netscape Navigator/Communicator
  24.  *              OmniWeb
  25.  *              Opera
  26.  *              Pocket Internet Explorer for handhelds
  27.  *              Safari
  28.  *              WebTV
  29.  *              Chrome
  30.  *              Seamonkey
  31.  *              Mosaic
  32.  *              Avant
  33.  *              Camino
  34.  *              Flock
  35.  *              Maxthon
  36.  * Egyéb adatok:
  37.  *              Ip cím és típusa
  38.  *              Host
  39.  *              Proxy használat
  40.  * Hiányosságok:
  41.  *              gecko böngésző
  42.  *              nem használt böngésző verziók
  43.  *              internet szolgáltató
  44.  */
  45. class browser
  46.         {
  47.     var $Name = "undefined";
  48.     var $Version = "undefined";
  49.     var $Platform = "undefined";
  50.     var $UserAgent = "Not reported";
  51.     var $AOL = false;
  52.  
  53.     function browser()
  54.                 {
  55.         $agent = $_SERVER['HTTP_USER_AGENT'];
  56.  
  57.         // Tulajadonságok inicializálása
  58.         $bd['platform'] = "undefined";
  59.         $bd['browser'] = "undefined";
  60.         $bd['version'] = "undefined";
  61.                 $ip['network'] = "undefined";
  62.                 $ip['host'] = "undefined";
  63.                 $ip['port'] = "undefined";
  64.                 $ip['dhost'] = "undefined";
  65.                 $ip['sub'] = "undefined";
  66.                 $ip['type'] = "undefined";
  67.                 $ip['proxy'] = "undefined";
  68.         $this->UserAgent = $agent;
  69.                
  70.         // Operáció rendszer felismerése
  71.                         if (stripos($agent, "win"))
  72.             $bd['platform'] = "Windows";
  73.         elseif (stripos($agent, "mac"))
  74.             $bd['platform'] = "MacIntosh";
  75.         elseif (stripos($agent, "linux"))
  76.             $bd['platform'] = "Linux";
  77.         elseif (stripos($agent, "OS/2"))
  78.             $bd['platform'] = "OS/2";
  79.         elseif (stripos($agent, "BeOS"))
  80.             $bd['platform'] = "BeOS";
  81.                 elseif (stripos($agent, "ubuntu"))
  82.             $bd['platform'] = "Ubuntu";
  83.  
  84.  
  85.                 // BÖNGÉSZÕ FELISMERÉSE
  86.         // Opera        
  87.         if (stripos($agent, "opera")){
  88.             $val = stristr($agent, "opera");
  89.             if (stripos($val, "/")){
  90.                 $val = explode("/",$val);
  91.                 $bd['browser'] = $val[0];
  92.                 $val = explode(" ",$val[1]);
  93.                 $bd['version'] = $val[0];
  94.             }else{
  95.                 $val = explode(" ",stristr($val,"opera"));
  96.                 $bd['browser'] = $val[0];
  97.                 $bd['version'] = $val[1];
  98.             }
  99.  
  100.         // WebTV
  101.         }elseif(stripos($agent, "webtv")){
  102.             $val = explode("/",stristr($agent,"webtv"));
  103.             $bd['browser'] = $val[0];
  104.             $bd['version'] = $val[1];
  105.        
  106.         // MS Internet Explorer version 1
  107.         }elseif(stripos($agent, "microsoft internet explorer")){
  108.             $bd['browser'] = "MSIE";
  109.             $bd['version'] = "1.0";
  110.             $var = stristr($agent, "/");
  111.             if (ereg("308|425|426|474|0b1", $var)){
  112.                 $bd['version'] = "1.5";
  113.             }
  114.  
  115.         // NetPositive
  116.         }elseif(stripos($agent, "NetPositive")){
  117.             $val = explode("/",stristr($agent,"NetPositive"));
  118.             $bd['platform'] = "BeOS";
  119.             $bd['browser'] = $val[0];
  120.             $bd['version'] = $val[1];
  121.  
  122.         // MS Internet Explorer
  123.         }elseif(stripos($agent, "msie") && !stripos($agent, "opera")){
  124.             $val = explode(" ",stristr($agent,"msie"));
  125.             $bd['browser'] = $val[0];
  126.             $bd['version'] = $val[1];
  127.        
  128.         // MS Pocket Internet Explorer
  129.         }elseif(stripos($agent, "mspie") || stripos($agent, 'pocket')){
  130.             $val = explode(" ",stristr($agent,"mspie"));
  131.             $bd['browser'] = "MSPIE";
  132.             $bd['platform'] = "WindowsCE";
  133.             if (stripos($agent, "mspie"))
  134.                 $bd['version'] = $val[1];
  135.             else {
  136.                 $val = explode("/",$agent);
  137.                 $bd['version'] = $val[1];
  138.             }
  139.            
  140.         // Galeon
  141.         }elseif(stripos($agent, "galeon")){
  142.             $val = explode(" ",stristr($agent,"galeon"));
  143.             $val = explode("/",$val[0]);
  144.             $bd['browser'] = $val[0];
  145.             $bd['version'] = $val[1];
  146.            
  147.         // Konqueror
  148.         }elseif(stripos($agent, "Konqueror")){
  149.             $val = explode(" ",stristr($agent,"Konqueror"));
  150.             $val = explode("/",$val[0]);
  151.             $bd['browser'] = $val[0];
  152.             $bd['version'] = $val[1];
  153.            
  154.         // iCab
  155.         }elseif(stripos($agent, "icab")){
  156.             $val = explode(" ",stristr($agent,"icab"));
  157.             $bd['browser'] = $val[0];
  158.             $bd['version'] = $val[1];
  159.  
  160.         // OmniWeb
  161.         }elseif(stripos($agent, "omniweb")){
  162.             $val = explode("/",stristr($agent,"omniweb"));
  163.             $bd['browser'] = $val[0];
  164.             $bd['version'] = $val[1];
  165.  
  166.         // Phoenix
  167.         }elseif(stripos($agent, "Phoenix")){
  168.             $bd['browser'] = "Phoenix";
  169.             $val = explode("/", stristr($agent,"Phoenix/"));
  170.             $bd['version'] = $val[1];
  171.        
  172.         // Firebird
  173.         }elseif(stripos($agent, "firebird")){
  174.             $bd['browser']="Firebird";
  175.             $val = stristr($agent, "Firebird");
  176.             $val = explode("/",$val);
  177.             $bd['version'] = $val[1];
  178.            
  179.         // Firefox
  180.         }elseif(stripos($agent, "Firefox")){
  181.             $bd['browser']="Firefox";
  182.             $val = stristr($agent, "Firefox");
  183.             $val = explode("/",$val);
  184.             $bd['version'] = $val[1];
  185.            
  186.       // Mozilla Alpha/Beta Versions
  187.         }elseif(stripos($agent, "mozilla") &&
  188.             stripos($agent, "rv:[0-9].[0-9][a-b]") && !stripos($agent, "netscape")){
  189.             $bd['browser'] = "Mozilla";
  190.             $val = explode(" ",stristr($agent,"rv:"));
  191.             stripos($agent, "rv:[0-9].[0-9][a-b]",$agent,$val);
  192.             $bd['version'] = str_replace("rv:","",$val[0]);
  193.            
  194.         // Mozilla Stable Versions
  195.         }elseif(stripos($agent, "mozilla") &&
  196.             stripos($agent, "rv:[0-9]\.[0-9]") && !stripos($agent, "netscape")){
  197.             $bd['browser'] = "Mozilla";
  198.             $val = explode(" ",stristr($agent,"rv:"));
  199.             stripos($agent, "rv:[0-9]\.[0-9]\.[0-9]",$agent,$val);
  200.             $bd['version'] = str_replace("rv:","",$val[0]);
  201.        
  202.         // Lynx & Amaya
  203.         }elseif(stripos($agent, "libwww")){
  204.             if (stripos($agent, "amaya")){
  205.                 $val = explode("/",stristr($agent,"amaya"));
  206.                 $bd['browser'] = "Amaya";
  207.                 $val = explode(" ", $val[1]);
  208.                 $bd['version'] = $val[0];
  209.             } else {
  210.                 $val = explode("/",$agent);
  211.                 $bd['browser'] = "Lynx";
  212.                 $bd['version'] = $val[1];
  213.             }
  214.         }elseif(stripos($agent, "chrome")){
  215.                 $val = explode("/",stristr($agent,"chrome"));
  216.         $bd['browser'] = "Chrome";
  217.         $bd['version'] = substr($val[1],0,3);
  218.                
  219.                 //noname böngészők
  220.                 }elseif(stripos($agent, "seamonkey")){
  221.         $bd['browser'] = "Seamonkey";
  222.         $bd['version'] = "undefined";
  223.         }elseif(stripos($agent, "mosaic")){
  224.         $bd['browser'] = "Mosaic";
  225.         $bd['version'] = "undefined";
  226.         }elseif(stripos($agent, "avant")){
  227.         $bd['browser'] = "Avant";
  228.         $bd['version'] = "undefined";
  229.         }elseif(stripos($agent, "camino")){
  230.         $bd['browser'] = "Camino";
  231.         $bd['version'] = "undefined";
  232.         }elseif(stripos($agent, "flock")){
  233.         $bd['browser'] = "Flock";
  234.         $bd['version'] = "undefined";
  235.                 }elseif(stripos($agent, "maxthon")){
  236.         $bd['browser'] = "Maxthon";
  237.         $bd['version'] = "undefined";
  238.         // Safari
  239.         }elseif(stripos($agent, "safari")){
  240.                 $val = explode("/",stristr($agent,"safari"));
  241.             $bd['browser'] = "Safari";
  242.             $bd['version'] = substr($val[1],0,3);
  243.  
  244.         // Netscape
  245.         }elseif(stripos($agent, "netscape")){
  246.             $val = explode(" ",stristr($agent,"netscape"));
  247.             $val = explode("/",$val[0]);
  248.             $bd['browser'] = $val[0];
  249.             $bd['version'] = $val[1];
  250.         }elseif(stripos($agent, "mozilla") && !stripos($agent, "rv:[0-9]\.[0-9]\.[0-9]")){
  251.             $val = explode(" ",stristr($agent,"mozilla"));
  252.             $val = explode("/",$val[0]);
  253.             $bd['browser'] = "Netscape";
  254.             $bd['version'] = $val[1];
  255.         }
  256.         // Tárgyhoz nem tartozó szemét eltakarítása a névből
  257.         $bd['browser'] = preg_replace("[^a-z,A-Z]", "", $bd['browser']);
  258.         // Tárgyhoz nem tartozó szemét eltakarítása a verziószámból      
  259.         $bd['version'] = preg_replace("[^0-9,.,a-z,A-Z]", "", $bd['version']);
  260.        
  261.         // AOL ellenőrzése
  262.         if (stripos($agent, "AOL")){
  263.             $var = stristr($agent, "AOL");
  264.             $var = explode(" ", $var);
  265.             $bd['aol'] = preg_replace("[^0-9,.,a-z,A-Z]", "", $var[1]);
  266.         }
  267.                
  268.                 //Proxy visszafejtése
  269.                 if (!empty($_SERVER['HTTP_CLIENT_IP'])){
  270.                         $ip['proxy'] = "undentified";
  271.                         $myip=$_SERVER['HTTP_CLIENT_IP'];
  272.                 }elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
  273.                         $ip['proxy'] = $_SERVER['REMOTE_ADDR'];
  274.                         $myip=$_SERVER['HTTP_X_FORWARDED_FOR'];
  275.                 }else{
  276.                         $ip['proxy'] = "undentified";
  277.                         $myip=$_SERVER['REMOTE_ADDR'];
  278.                 }
  279.                 //IP cím definiálása
  280.         $ip = explode(".", $myip);
  281.                 if (substr(decbin($ip[0]), 0, 1) == 0){
  282.                         $ip['type'] = "A - large";
  283.                         $ip['network'] = $ip[0];
  284.                         $ip['host'] = $ip[1].".".$ip[2].".".$ip[3];
  285.                         $ip['sub'] = 8;
  286.                 }else if (substr(decbin($ip[0]), 0, 2) == 10){
  287.                         $ip['type'] = "B - medium";
  288.                         $ip['network'] = $ip[0].".".$ip[1];
  289.                         $ip['host'] =  $ip[2].".".$ip[3];
  290.                         $ip['sub'] = 16;
  291.                 }else if (substr(decbin($ip[0]), 0, 3) == 110){
  292.                         $ip['type'] = "C - small";
  293.                         $ip['network'] = $ip[0].".".$ip[1].".".$ip[2];
  294.                         $ip['host'] =  $ip[3];
  295.                         $ip['sub'] = 24;
  296.                 }else if (substr(decbin($ip[0]), 0, 4) == 1110){
  297.                         $ip['type'] = "D - multicasting";
  298.                         $ip['network'] = $ip[0].".".$ip[1].".".$ip[2].".".$ip[3];
  299.                         $ip['host'] =  "undefined";
  300.                         $ip['sub'] = 32;
  301.                 }else if (substr(decbin($ip[0]), 0, 5) == 1111){
  302.                         $ip['type'] = "E - experimental";
  303.                         $ip['network'] = "undefined";
  304.                         $ip['host'] =  "undefined";
  305.                         $ip['sub'] = "undefined";
  306.                 }
  307.        
  308.         // Tulajdonságok beállítása
  309.         $this->Name = $bd['browser'];
  310.         $this->Version = $bd['version'];
  311.         $this->Platform = $bd['platform'];
  312.         $this->AOL = $bd['aol'];
  313.                 $this->Type = $ip['type'];
  314.                 $this->Network = $ip['network'];
  315.                 $this->Host = $ip['host'];
  316.                 $this->Sub = $ip['sub'];
  317.                 $this->Binary = decbin($ip[0]).".".decbin($ip[1]).".".decbin($ip[2]).".".decbin($ip[3]);
  318.                 $this->Port = $_SERVER['REMOTE_PORT'];
  319.                 $this->Provider = gethostbyaddr($myip);
  320.                 $this->Ip = $myip;
  321.         }
  322.         }
  323. $browser = new browser();
  324. print "Böngésző neve: ".$browser->Name."<br />";
  325. print "Böngésző verziója: ".$browser->Version."<br />";
  326. print "Oprendszer: ".$browser->Platform."<br /><br />";
  327. print "Ip cím: ".$browser->Ip."<br />";
  328. print "Ip Típusa: ".$browser->Type."<br />";
  329. print "Ip Hálózat: ".$browser->Network."<br />";
  330. print "Ip Host: ".$browser->Host."<br />";
  331. print "Ip Sub: ".$browser->Sub."<br />";
  332. print "Igazi IP: ".$browser->Binary."<br />";
  333. print "Port: ".$browser->Port."<br />";
  334. print "Proxy: ".$browser->Proxy."<br />";
  335. print "Host: ".$browser->Provider."<br />";
  336. ?>
  337.  
  338.  


Az új kód tökéletesen fut Opera kivételével, gőzöm sincs hogy miért :/
« Utoljára szerkesztve: 2010. július 25., 01:41:40 írta rajmund »

Nem elérhető Kazsa

  • Felhasználó
  • Hozzászólások: 83
    • CsirkeNevelde
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #26 Dátum: 2010. július 16., 17:53:06 »
Ahha...kösz a választ...Úgy látszik ,hogy én nem igazán tudok semmit se...előbb utána nézek,ez eltart egy darabig,majd írok ide,mert bizt fogok  xD

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #25 Dátum: 2010. július 15., 23:00:30 »
Ez annyira pszeudo kód, hogy ezerféle megoldást takarhat. Igen, IF kell de valószínűleg változót fogsz összehasonlítani stringgel és nem változót logikai értékkel. Az átirányítókód meg igen, oda kell az if-be. De szerintem konkrétabban is leírhattad volna, hogy gondolod :) Lehet jól, de lehet nem.
Egyszerűen létezem, és lézengek a Földön,
mint idióta szellem, kinek kastélya a börtön.

Nem elérhető Kazsa

  • Felhasználó
  • Hozzászólások: 83
    • CsirkeNevelde
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #24 Dátum: 2010. július 15., 22:42:37 »
Köszönöm a választ!
Tehát így?Ha nem jó kérlek javíts ki.
Kód: PHP
  1. if ( msie ==true) {
  2. átíránnyítókod
  3. }
  4.  

Nem elérhető Semmu

  • V.I.P. tag
  • Teljes tag
  • *****
  • Hozzászólások: 2.576
  • Akinek semmi sem tetszik :D
    • [készülõben]
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #23 Dátum: 2010. július 15., 16:45:38 »
ha teljesül a feltétel -> header().



Nem elérhető Kazsa

  • Felhasználó
  • Hozzászólások: 83
    • CsirkeNevelde
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #22 Dátum: 2010. július 15., 16:44:07 »
Köszönöm!Hogy így felé raktam,már megy.
Még annyi kérdés,hogyha nem firefox vagy chrome böngészővel nézzük a weblapot,akkor egy előre beállított oldalt nyisson meg,azt hogy lehetne megcsinálni?
-nem kérek konkrét kódot persze,de nyilván elfogadnám azt is xd-
Választ előre is köszönöm!

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #21 Dátum: 2010. július 15., 15:29:04 »
Nem volt még akkor google chrome, mikor Warner ezt megírta. És ma már biztosan másképp is írná. De sebtapasznak beteheted a következő kód fölé:
Kód: PHP
  1.         // Safari
  2.         }elseif(eregi("safari", $agent)){
  3.             $bd['browser'] = "Safari";
  4.             $bd['version'] = "";
Ezt:
Kód: PHP
  1.         // Chrome
  2.         }elseif(eregi("chrome", $agent)){
  3.             $bd['browser'] = "Chrome";
  4.             $bd['version'] = "";  
Egyszerűen létezem, és lézengek a Földön,
mint idióta szellem, kinek kastélya a börtön.

Nem elérhető Kazsa

  • Felhasználó
  • Hozzászólások: 83
    • CsirkeNevelde
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #20 Dátum: 2010. július 15., 14:11:26 »
Hogy működne Google Chromeban? Mert ott safarit ír ki. :S Próbáltam szerkesztgetni,de továbbra is az maradt. :blush:

Nem elérhető Viz

  • Tag
  • *
  • Hozzászólások: 177
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #19 Dátum: 2008. november 08., 22:52:08 »
Köszönöm a válaszokat!
Így már működik, elfelejtettem! :blush:

Nem elérhető <madbence />

  • Teljes tag
  • ***
  • Hozzászólások: 1.630
  • Twitterista :)
    • Blogom
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #18 Dátum: 2008. november 08., 22:47:18 »
$browser = new browser();Példányosítani köll
mi chuck norris email címe? gmail@chucknorris.com
Blog: napszemuvegbe.tumblr.com
Twitter: twitter.com/madbence

Elérhető Warner

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 6.438
    • CodeNet
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #17 Dátum: 2008. november 08., 22:46:55 »
Egyszerűen csak nem példányosítottad Viz az osztályt a $browser objektumba. Pedig csak le kellett volna másolnod Rimelek példakódját...

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #16 Dátum: 2008. november 08., 22:34:11 »
Írt valami hibát? vagy csak nem működött valami? Ez csak egy értékadás. Elrontani szinte lehetetlen. Max elirtál egy betűt a változóban vagy hasonló.

Illik elolvasni még a topic többi hozzászólását, ha csak 1 oldal van öszesen.
De itt ezt a hszt nézd:
http://phpstudio.hu/forum/index.php/topic,1376.msg41225.html#msg41225
Egyszerűen létezem, és lézengek a Földön,
mint idióta szellem, kinek kastélya a börtön.

Nem elérhető Viz

  • Tag
  • *
  • Hozzászólások: 177
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #15 Dátum: 2008. november 08., 22:26:58 »
Nekem semmi se ír ki.
<?php
class browser
{
    var 
$Name "Unknown";
    var 
$Version "Unknown";
    var 
$Platform "Unknown";
    var 
$UserAgent "Not reported";
    var 
$AOL false;

    function 
browser()
{
        
$agent $_SERVER['HTTP_USER_AGENT'];

        
// Tulajadonságok inicializálása
        
$bd['platform'] = "Unknown";
        
$bd['browser'] = "Unknown";
        
$bd['version'] = "Unknown";
        
$this->UserAgent $agent;

        
// Operáció rendszer felismerése
        
if (eregi("win"$agent))
            
$bd['platform'] = "Windows";
        elseif (
eregi("mac"$agent))
            
$bd['platform'] = "MacIntosh";
        elseif (
eregi("linux"$agent))
            
$bd['platform'] = "Linux";
        elseif (
eregi("OS/2"$agent))
            
$bd['platform'] = "OS/2";
        elseif (
eregi("BeOS"$agent))
            
$bd['platform'] = "BeOS";


// BÖNGÉSZÕ FELISMERÉSE

        
// Opera        
        
if (eregi("opera",$agent)){
            
$val stristr($agent"opera");
            if (
eregi("/"$val)){
                
$val explode("/",$val);
                
$bd['browser'] = $val[0];
                
$val explode(" ",$val[1]);
                
$bd['version'] = $val[0];
            }else{
                
$val explode(" ",stristr($val,"opera"));
                
$bd['browser'] = $val[0];
                
$bd['version'] = $val[1];
            }

        
// WebTV
        
}elseif(eregi("webtv",$agent)){
            
$val explode("/",stristr($agent,"webtv"));
            
$bd['browser'] = $val[0];
            
$bd['version'] = $val[1];
        
        
// MS Internet Explorer version 1
        
}elseif(eregi("microsoft internet explorer"$agent)){
            
$bd['browser'] = "MSIE";
            
$bd['version'] = "1.0";
            
$var stristr($agent"/");
            if (
ereg("308|425|426|474|0b1"$var)){
                
$bd['version'] = "1.5";
            }

        
// NetPositive
        
}elseif(eregi("NetPositive"$agent)){
            
$val explode("/",stristr($agent,"NetPositive"));
            
$bd['platform'] = "BeOS";
            
$bd['browser'] = $val[0];
            
$bd['version'] = $val[1];

        
// MS Internet Explorer
        
}elseif(eregi("msie",$agent) && !eregi("opera",$agent)){
            
$val explode(" ",stristr($agent,"msie"));
            
$bd['browser'] = $val[0];
            
$bd['version'] = $val[1];
        
        
// MS Pocket Internet Explorer
        
}elseif(eregi("mspie",$agent) || eregi('pocket'$agent)){
            
$val explode(" ",stristr($agent,"mspie"));
            
$bd['browser'] = "MSPIE";
            
$bd['platform'] = "WindowsCE";
            if (
eregi("mspie"$agent))
                
$bd['version'] = $val[1];
            else {
                
$val explode("/",$agent);
                
$bd['version'] = $val[1];
            }
            
        
// Galeon
        
}elseif(eregi("galeon",$agent)){
            
$val explode(" ",stristr($agent,"galeon"));
            
$val explode("/",$val[0]);
            
$bd['browser'] = $val[0];
            
$bd['version'] = $val[1];
            
        
// Konqueror
        
}elseif(eregi("Konqueror",$agent)){
            
$val explode(" ",stristr($agent,"Konqueror"));
            
$val explode("/",$val[0]);
            
$bd['browser'] = $val[0];
            
$bd['version'] = $val[1];
            
        
// iCab
        
}elseif(eregi("icab",$agent)){
            
$val explode(" ",stristr($agent,"icab"));
            
$bd['browser'] = $val[0];
            
$bd['version'] = $val[1];

        
// OmniWeb
        
}elseif(eregi("omniweb",$agent)){
            
$val explode("/",stristr($agent,"omniweb"));
            
$bd['browser'] = $val[0];
            
$bd['version'] = $val[1];

        
// Phoenix
        
}elseif(eregi("Phoenix"$agent)){
            
$bd['browser'] = "Phoenix";
            
$val explode("/"stristr($agent,"Phoenix/"));
            
$bd['version'] = $val[1];
        
        
// Firebird
        
}elseif(eregi("firebird"$agent)){
            
$bd['browser']="Firebird";
            
$val stristr($agent"Firebird");
            
$val explode("/",$val);
            
$bd['version'] = $val[1];
            
        
// Firefox
        
}elseif(eregi("Firefox"$agent)){
            
$bd['browser']="Firefox";
            
$val stristr($agent"Firefox");
            
$val explode("/",$val);
            
$bd['version'] = $val[1];
            
      
// Mozilla Alpha/Beta Versions
        
}elseif(eregi("mozilla",$agent) && 
            
eregi("rv:[0-9].[0-9][a-b]",$agent) && !eregi("netscape",$agent)){
            
$bd['browser'] = "Mozilla";
            
$val explode(" ",stristr($agent,"rv:"));
            
eregi("rv:[0-9].[0-9][a-b]",$agent,$val);
            
$bd['version'] = str_replace("rv:","",$val[0]);
            
        
// Mozilla Stable Versions
        
}elseif(eregi("mozilla",$agent) &&
            
eregi("rv:[0-9]\.[0-9]",$agent) && !eregi("netscape",$agent)){
            
$bd['browser'] = "Mozilla";
            
$val explode(" ",stristr($agent,"rv:"));
            
eregi("rv:[0-9]\.[0-9]\.[0-9]",$agent,$val);
            
$bd['version'] = str_replace("rv:","",$val[0]);
        
        
// Lynx & Amaya
        
}elseif(eregi("libwww"$agent)){
            if (
eregi("amaya"$agent)){
                
$val explode("/",stristr($agent,"amaya"));
                
$bd['browser'] = "Amaya";
                
$val explode(" "$val[1]);
                
$bd['version'] = $val[0];
            } else {
                
$val explode("/",$agent);
                
$bd['browser'] = "Lynx";
                
$bd['version'] = $val[1];
            }
        
        
// Safari
        
}elseif(eregi("safari"$agent)){
            
$bd['browser'] = "Safari";
            
$bd['version'] = "";

        
// Netscape
        
}elseif(eregi("netscape",$agent)){
            
$val explode(" ",stristr($agent,"netscape"));
            
$val explode("/",$val[0]);
            
$bd['browser'] = $val[0];
            
$bd['version'] = $val[1];
        }elseif(
eregi("mozilla",$agent) && !eregi("rv:[0-9]\.[0-9]\.[0-9]",$agent)){
            
$val explode(" ",stristr($agent,"mozilla"));
            
$val explode("/",$val[0]);
            
$bd['browser'] = "Netscape";
            
$bd['version'] = $val[1];
        }
        
        
// Tárgyhoz nem tartozó szemét eltakarítása a névből
        
$bd['browser'] = ereg_replace("[^a-z,A-Z]"""$bd['browser']);
        
// Tárgyhoz nem tartozó szemét eltakarítása a verziószámból       
        
$bd['version'] = ereg_replace("[^0-9,.,a-z,A-Z]"""$bd['version']);
        
        
// Tulajdonságok beállítása
        
$this->Name $bd['browser'];
        
$this->Version $bd['version'];
        
$this->Platform $bd['platform'];
        
$this->AOL $bd['aol'];
    
}
}
    
/// print "Böngésző neve: ".$browser->Name."<br />";
    /// print "Böngésző verziója: ".$browser->Version."<br />";
    /// print "Oprendszer: ".$browser->Platform."<br />";
$valtozovagyok $browser->Name;
print(
"$valtozovagyok");
?>
« Utoljára szerkesztve: 2008. november 08., 22:33:09 írta Viz »

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #14 Dátum: 2008. november 08., 21:59:19 »
egyenlőség jellel :D

$valtozovagyok = $browser->Name;
Egyszerűen létezem, és lézengek a Földön,
mint idióta szellem, kinek kastélya a börtön.

Nem elérhető Viz

  • Tag
  • *
  • Hozzászólások: 177
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #13 Dátum: 2008. november 08., 21:25:13 »
Heló!

A lent említett kóddal kapcsolatban lenne egy kérdésem:
A böngésző nevét, verzióját és az operációs rendszert hogyan lehet külön-külön egy-egy változóba illeszteni?

Nem elérhető Suttogó

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 1.775
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #12 Dátum: 2008. november 02., 19:38:06 »
Ja tehát azt írja hogy aolt használ-e az aki éppen ezzel a böngészővel engem néz :P
Ajánlott programok: Ubuntu | LibreOffice | GIMP

Nem elérhető <madbence />

  • Teljes tag
  • ***
  • Hozzászólások: 1.630
  • Twitterista :)
    • Blogom
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #11 Dátum: 2008. november 02., 19:33:02 »
Idézet
AOL is perhaps best known for its online software suite, also called "AOL"
De tök érdektelen, ha nem vagy amerikában.
mi chuck norris email címe? gmail@chucknorris.com
Blog: napszemuvegbe.tumblr.com
Twitter: twitter.com/madbence

Nem elérhető Suttogó

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 1.775
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #10 Dátum: 2008. november 02., 19:16:23 »
Akkor most mit is jelent a van-e aol?
Ajánlott programok: Ubuntu | LibreOffice | GIMP

Nem elérhető Salaander

  • Globális moderátor
  • Törzstag
  • *****
  • Hozzászólások: 695
  • Salaander
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #9 Dátum: 2008. november 02., 09:49:32 »
Idézet
operated by Time Warner

Te mindenhol ott vagy Warner? :D :D

Elérhető Warner

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 6.438
    • CodeNet

Nem elérhető Suttogó

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 1.775
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #7 Dátum: 2008. november 01., 19:46:03 »
Mi az az AOL?
Ajánlott programok: Ubuntu | LibreOffice | GIMP

Nem elérhető Rimelek

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 8.942
    • rimelek.hu
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #6 Dátum: 2008. október 28., 13:14:37 »
Kód: PHP
  1. $browser = new browser();
  2. print "Böngésző neve: ".$browser->Name."<br />";
  3. print "Böngésző verziója: ".$browser->Version."<br />";
  4. print "Oprendszer: ".$browser->Platform."<br />";

AOL-t kihagytam, mert nem fontos szerintem, és azt se tudom mi az, csak annyit látok, hogy true vagy false az értéke.
Egyszerűen létezem, és lézengek a Földön,
mint idióta szellem, kinek kastélya a börtön.

Nem elérhető DéDé

  • Törzstag
  • **
  • Hozzászólások: 462
  • MR D
    • fbook
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #5 Dátum: 2008. október 28., 12:53:42 »
$_SERVER['HTTP_USER_AGENT'];

ha jól emlékszem rá :D
zavard össze a világot.... mosolyogj hétfõn ! (Garfield)

Nem elérhető Satya

  • Teljes tag
  • ***
  • Hozzászólások: 1.155
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #4 Dátum: 2008. október 28., 12:41:00 »
Na hogyan is kell ezt használni?
Internet Explorer - legjobb böngésző egy másik böngésző letöltésére.

Nem elérhető KisGabo

  • Törzstag
  • **
  • Hozzászólások: 919
  • Ifj.
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #3 Dátum: 2008. január 05., 17:40:44 »
Nagyon jó, felrakhatnád a phpclasses.org-ra  :)

Nem elérhető Suttogó

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 1.775
Re: Böngészõ (és operációs rendszer) meghatározása
« Válasz #2 Dátum: 2008. január 02., 17:54:58 »
Köszönöm. Legyszerűsítettem magamnak. (Az AOL meg egyebek nem érdekel csak az hogy Firefox-e vagy nem. (Azthittem csak az IE az igazi riválisa de nem így van látom :blub:) Úgyhogy minden nem firefoxos kap a fejére  :dance2:)
Ajánlott programok: Ubuntu | LibreOffice | GIMP

Elérhető Warner

  • Adminisztrátor
  • Őstag
  • *****
  • Hozzászólások: 6.438
    • CodeNet
Böngészõ (és operációs rendszer) meghatározása
« Válasz #1 Dátum: 2008. január 02., 10:01:25 »
Az alábbi osztályt még az oseim.hu-hoz készítettem, mivel fontos volt, milyen böngészővel nézik az oldalt. A script kb. félig saját, egy meglévőből alakítottam át, de az is szabadon felhasználható:

<?php
/* By Warner, http://phpstudio.hu
 *
 * Operációs rendszer- és böngészőfelismerő (verziószámmal) osztály.
 *
 * Felismert operációs rendszerek:
 *  Microsoft Windows
 *  MacIntosh
 *  Linux
 * OS/2
 * BeOS
 *
 * Felismert böngészők:
 *  Amaya
 *  Galeon
 *  iCab
 *  Internet Explorer (AOL verziók esetén Internet Explorer-nek ismeri fel, de a verziószám az AOL verziószám lesz az IE verziószáma helyett.)
 *  Konqueror
 *  Lynx
 *  Mozilla
 *  Netscape Navigator/Communicator
 *  OmniWeb
 *  Opera
 *  Pocket Internet Explorer for handhelds
 *  Safari
 *  WebTV
 */

class browser
{
    var 
$Name "Unknown";
    var 
$Version "Unknown";
    var 
$Platform "Unknown";
    var 
$UserAgent "Not reported";
    var 
$AOL false;

    function 
browser()
{
        
$agent $_SERVER['HTTP_USER_AGENT'];

        
// Tulajadonságok inicializálása
        
$bd['platform'] = "Unknown";
        
$bd['browser'] = "Unknown";
        
$bd['version'] = "Unknown";
        
$this->UserAgent $agent;

        
// Operáció rendszer felismerése
        
if (eregi("win"$agent))
            
$bd['platform'] = "Windows";
        elseif (
eregi("mac"$agent))
            
$bd['platform'] = "MacIntosh";
        elseif (
eregi("linux"$agent))
            
$bd['platform'] = "Linux";
        elseif (
eregi("OS/2"$agent))
            
$bd['platform'] = "OS/2";
        elseif (
eregi("BeOS"$agent))
            
$bd['platform'] = "BeOS";


// BÖNGÉSZÕ FELISMERÉSE

        
// Opera        
        
if (eregi("opera",$agent)){
            
$val stristr($agent"opera");
            if (
eregi("/"$val)){
                
$val explode("/",$val);
                
$bd['browser'] = $val[0];
                
$val explode(" ",$val[1]);
                
$bd['version'] = $val[0];
            }else{
                
$val explode(" ",stristr($val,"opera"));
                
$bd['browser'] = $val[0];
                
$bd['version'] = $val[1];
            }

        
// WebTV
        
}elseif(eregi("webtv",$agent)){
            
$val explode("/",stristr($agent,"webtv"));
            
$bd['browser'] = $val[0];
            
$bd['version'] = $val[1];
        
        
// MS Internet Explorer version 1
        
}elseif(eregi("microsoft internet explorer"$agent)){
            
$bd['browser'] = "MSIE";
            
$bd['version'] = "1.0";
            
$var stristr($agent"/");
            if (
ereg("308|425|426|474|0b1"$var)){
                
$bd['version'] = "1.5";
            }

        
// NetPositive
        
}elseif(eregi("NetPositive"$agent)){
            
$val explode("/",stristr($agent,"NetPositive"));
            
$bd['platform'] = "BeOS";
            
$bd['browser'] = $val[0];
            
$bd['version'] = $val[1];

        
// MS Internet Explorer
        
}elseif(eregi("msie",$agent) && !eregi("opera",$agent)){
            
$val explode(" ",stristr($agent,"msie"));
            
$bd['browser'] = $val[0];
            
$bd['version'] = $val[1];
        
        
// MS Pocket Internet Explorer
        
}elseif(eregi("mspie",$agent) || eregi('pocket'$agent)){
            
$val explode(" ",stristr($agent,"mspie"));
            
$bd['browser'] = "MSPIE";
            
$bd['platform'] = "WindowsCE";
            if (
eregi("mspie"$agent))
                
$bd['version'] = $val[1];
            else {
                
$val explode("/",$agent);
                
$bd['version'] = $val[1];
            }
            
        
// Galeon
        
}elseif(eregi("galeon",$agent)){
            
$val explode(" ",stristr($agent,"galeon"));
            
$val explode("/",$val[0]);
            
$bd['browser'] = $val[0];
            
$bd['version'] = $val[1];
            
        
// Konqueror
        
}elseif(eregi("Konqueror",$agent)){
            
$val explode(" ",stristr($agent,"Konqueror"));
            
$val explode("/",$val[0]);
            
$bd['browser'] = $val[0];
            
$bd['version'] = $val[1];
            
        
// iCab
        
}elseif(eregi("icab",$agent)){
            
$val explode(" ",stristr($agent,"icab"));
            
$bd['browser'] = $val[0];
            
$bd['version'] = $val[1];

        
// OmniWeb
        
}elseif(eregi("omniweb",$agent)){
            
$val explode("/",stristr($agent,"omniweb"));
            
$bd['browser'] = $val[0];
            
$bd['version'] = $val[1];

        
// Phoenix
        
}elseif(eregi("Phoenix"$agent)){
            
$bd['browser'] = "Phoenix";
            
$val explode("/"stristr($agent,"Phoenix/"));
            
$bd['version'] = $val[1];
        
        
// Firebird
        
}elseif(eregi("firebird"$agent)){
            
$bd['browser']="Firebird";
            
$val stristr($agent"Firebird");
            
$val explode("/",$val);
            
$bd['version'] = $val[1];
            
        
// Firefox
        
}elseif(eregi("Firefox"$agent)){
            
$bd['browser']="Firefox";
            
$val stristr($agent"Firefox");
            
$val explode("/",$val);
            
$bd['version'] = $val[1];
            
      
// Mozilla Alpha/Beta Versions
        
}elseif(eregi("mozilla",$agent) && 
            
eregi("rv:[0-9].[0-9][a-b]",$agent) && !eregi("netscape",$agent)){
            
$bd['browser'] = "Mozilla";
            
$val explode(" ",stristr($agent,"rv:"));
            
eregi("rv:[0-9].[0-9][a-b]",$agent,$val);
            
$bd['version'] = str_replace("rv:","",$val[0]);
            
        
// Mozilla Stable Versions
        
}elseif(eregi("mozilla",$agent) &&
            
eregi("rv:[0-9]\.[0-9]",$agent) && !eregi("netscape",$agent)){
            
$bd['browser'] = "Mozilla";
            
$val explode(" ",stristr($agent,"rv:"));
            
eregi("rv:[0-9]\.[0-9]\.[0-9]",$agent,$val);
            
$bd['version'] = str_replace("rv:","",$val[0]);
        
        
// Lynx & Amaya
        
}elseif(eregi("libwww"$agent)){
            if (
eregi("amaya"$agent)){
                
$val explode("/",stristr($agent,"amaya"));
                
$bd['browser'] = "Amaya";
                
$val explode(" "$val[1]);
                
$bd['version'] = $val[0];
            } else {
                
$val explode("/",$agent);
                
$bd['browser'] = "Lynx";
                
$bd['version'] = $val[1];
            }
        
        
// Safari
        
}elseif(eregi("safari"$agent)){
            
$bd['browser'] = "Safari";
            
$bd['version'] = "";

        
// Netscape
        
}elseif(eregi("netscape",$agent)){
            
$val explode(" ",stristr($agent,"netscape"));
            
$val explode("/",$val[0]);
            
$bd['browser'] = $val[0];
            
$bd['version'] = $val[1];
        }elseif(
eregi("mozilla",$agent) && !eregi("rv:[0-9]\.[0-9]\.[0-9]",$agent)){
            
$val explode(" ",stristr($agent,"mozilla"));
            
$val explode("/",$val[0]);
            
$bd['browser'] = "Netscape";
            
$bd['version'] = $val[1];
        }
        
        
// Tárgyhoz nem tartozó szemét eltakarítása a névből
        
$bd['browser'] = ereg_replace("[^a-z,A-Z]"""$bd['browser']);
        
// Tárgyhoz nem tartozó szemét eltakarítása a verziószámból       
        
$bd['version'] = ereg_replace("[^0-9,.,a-z,A-Z]"""$bd['version']);
        
        
// AOL ellenőrzése
        
if (eregi("AOL"$agent)){
            
$var stristr($agent"AOL");
            
$var explode(" "$var);
            
$bd['aol'] = ereg_replace("[^0-9,.,a-z,A-Z]"""$var[1]);
        }
        
        
// Tulajdonságok beállítása
        
$this->Name $bd['browser'];
        
$this->Version $bd['version'];
        
$this->Platform $bd['platform'];
        
$this->AOL $bd['aol'];
    
}
}
?>

Az objektum Name tulajdonságába kerül a böngésző neve, a Version-be a verziója, a UserAgent-be simán a $_SERVER['HTTP_USER_AGENT']; értéke, az AOL pedig egy boolean változó, hogy van-e AOL. A Platform az operációs rendszer.

Használjátok nyugodtan O0