ďťż

[php] Odczyt przeglądarki internauty

       

Podstrony


telcocafe

Tym kodem odczytuje przelądarkę internauty:
echo('Używasz przeglądarki: '. $HTTP_USER_AGENT.'<BR />');
Otrzymuje to:
Używasz przeglĹĄdarki: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Jest możliwe otrzymanie, bardziej czytelnego wyniku? Chciałbym otrzymać np. Firefox/1.5.0.4 lub Internet Explorer 6.0



Oczywiście :) Zapisz sobie ten tekst w jakiejś zmiennej... Przeszukaj ją i, w zależności, jaka to przeglądarka, wyświetlaj co innego :)

@down:
Albo można zrobić coś takiego:
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE'))  echo ('Masz IE'); elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox'))  echo ('Masz FF'); ...
Użytkownik pbnan edytował ten post 29 czerwiec 2006, 12:17
musisz wyciągać ręcznie. np. szukasz określone ciągu i if $browser == firefox to piszesz Firefox.

//edit
chociaż poczytaj tu http://www.php.net/get_browser
Użytkownik marines edytował ten post 29 czerwiec 2006, 12:14

Oczywiście :) Zapisz sobie ten tekst w jakiejś zmiennej... Przeszukaj ją i, w zależności, jaka to przeglądarka, wyświetlaj co innego :)




Ten zapis może świadczyć, że ktoś ma i Mozille i Firefoxa (co to jest Gecko?)
Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4

Ok. Kod mam:
<? $browsers = "mozilla msie gecko firefox "; $browsers.= "konqueror safari netscape navigator "; $browsers.= "opera mosaic lynx amaya omniweb"; $browsers = split(" ", $browsers); $nua = strToLower( $_SERVER['HTTP_USER_AGENT']); $l = strlen($nua); for ($i=0; $i<count($browsers); $i++){  $browser = $browsers[$i];  $n = stristr($nua, $browser);  if(strlen($n)>0){   $GLOBALS["ver"] = "";   $GLOBALS["nav"] = $browser;   $j=strpos($nua, $GLOBALS["nav"])+$n+strlen($GLOBALS["nav"]) +1;   for (; $j<=$l; $j++){     $s = substr ($nua, $j, 1);     if(is_numeric($GLOBALS["ver"].$s) )     $GLOBALS["ver"] .= $s;     else     break;   }  } } echo("<pre>Twoja przeglądarka: "); echo($GLOBALS["nav"] . " " . $GLOBALS["ver"] . "</pre>"); ?>

A gdzybym teraz zrobił tak:
mozilla => 'Mozilla', msie => 'Internet Explorer' itd.
Udało by się to :unsure: ?

Jeżeli Ci zależy tylko na nazwie to łap:
<?php $browser = strtolower($_SERVER['HTTP_USER_AGENT']); if(strpos($browser, 'opera')!== false){ echo('Twoja przeglądarka to Opera.'); } else if(strpos($browser, 'netscape')!== false){ echo('Twoja przeglądarka to Netscape Navigator.'); } else if(strpos($browser, 'msie')!== false){ echo('Twoja przeglądarka to Internet Explorer.'); } else if(strpos($browser, 'firefox')!== false){ echo('Twoja przeglądarka to Mozilla Firefox.'); } else if(strpos($browser, 'k-meleon')!== false){ echo('Twoja przeglądarka to K-Meleon.'); } else if(strpos($browser, 'seamonkey')!== false){ echo('Twoja przeglądarka to SeaMonkey.'); } else{ echo('Nierozpoznany typ przeglądarki.'); } ?>

Ogromną zaletą jest prostota skryptu: łatwo dodajesz nowe, przez nazwę pliku exe przegladarki ;)

Podobny miałem. Co prawda mniej było opcji, ale mi chdzi w szczególności na wersje przeglądarki.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.