webmaster webmastering webdesign

Jesteś tutaj: webmade.org >> porady >> php + mysql

Pobieranie informacji o przeglądarce

autor: Mateusz Bogolubow, ostatnia modyfikacja: 2007-02-23

szukaj: rozpoznawanie przeglądarki rozpoznawanie przeglądarki detekcja przeglądarki detekcja przeglądarki pobieranie informacji o przeglądarce pobieranie informacji o przeglądarce PHP PHP

Oczywiście najprostszym sposobem na pobrane informacji o przeglądarce jest użycie zmiennej predefiniowanej $_SERVER['HTTP_USER_AGENT'], która jednak nie zawsze wyświetla czytelne dla zwykłego śmiertelnika dane:

Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6

Z pomocą przychodzi nam funkcja get_browser(), która zwraca bardziej czytelne wyniki. Dla tej samej przeglądarki poniższy kod:

$przegladarka = get_browser(null,true); 
print_r($przegladarka);

zwróci taki oto wynik:

Array
(
    [browser_name_regex] => ^mozilla/5.0 (windows; .*; windows nt 5.1.*) gecko/.* firefox/1.5.*$
    [browser_name_pattern] => Mozilla/5.0 (Windows; *; Windows NT 5.1*) Gecko/* Firefox/1.5*
    [parent] => Firefox 1.5
    [platform] => WinXP
    [win32] => 1
    [browser] => Firefox
    [version] => 1.5
    [majorver] => 1
    [minorver] => 5
    [frames] => 1
    [iframes] => 1
    [tables] => 1
    [cookies] => 1
    [javaapplets] => 1
    [javascript] => 1
    [css] => 2
    [cssversion] => 2
    [supportscss] => 1
    [alpha] => 
    [beta] => 
    [win16] => 
    [win64] => 
    [backgroundsounds] => 
    [authenticodeupdate] => 0
    [cdf] => 
    [vbscript] => 
    [activexcontrols] => 
    [stripper] => 
    [isbanned] => 
    [wap] => 
    [ismobiledevice] => 
    [issyndicationreader] => 
    [crawler] => 
    [aol] => 
    [aolversion] => 0
    [netclr] => 
    [clrversion] => 0
)

Jak zapewne zauważyłeś jest to spora tablica zawierająca szczegółowe informacje na temat przeglądarki (funkcja może również zwrócić obiekt, wystarczy zmienić drugi argument na false).

Jeśli chcesz otrzymać informacje jedynie na temat rodzaju przeglądarki i jej wersji to powinieneś użyć kodu:

$przegladarka = get_browser(null,true);
echo "Twoja przeglądarka to ".$przegladarka['browser']." w wersji ".$przgladarka['version'];

Co ciekawe funkcja ta potrafi rozpoznać wiele rodzajów robotów przeszukujących naszą stronę, ale... no właśnie jest jedno poważne ale...

Do prawidłowego (jakiegokolwiek) działania funkcja get_browser() potrzebuje dodatkowego pliku (php_browscap.ini), który można pobrać ze strony http://browsers.garykeith.com/downloads.asp (upewnij się, że pobrany przez Ciebie plik jest plikiem przygotowanym pod PHP).

Następnie edytuj plik php.ini i znajdź linię wyglądającą mniej więcej tak:

;browscap = extra/browscap.ini

usuń znak średnika, wprowadź adres do pobranego przez Ciebie pliku i z restartuj serwer. Po tych czynnościach wszystko powinno śmigać jak należy.

Niestety wiele serwerów wirtualnych nie ma "włączonej" obsługi tej funkcji... ale zawsze można poprosić o to administratora :)

Aby sprawdzić czy na naszym serwerze jest możliwość korzystania z get_browser() można posłużyć się funkcją phpinfo() i wyszukać wiersza z wyrażaniem browscap.

Niestety wartość "no value" jest dla nas przykrą informacją...

Mateusz Bogolubow

Osoby czytające tę publikację przeglądały również:

Chcesz zostać programistą?

Poznaj 6 kroków do efektywnej
nauki programowania!

 

valid XHTML
valid CSS
© 2004-2008 copyright by webmade.org