Jesteś tutaj: webmade.org >> porady >> php + mysql
autor: Mateusz Bogolubow, ostatnia modyfikacja: 2007-02-23
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
szukaj: rozpoznawanie przeglądarki detekcja przeglądarki pobieranie informacji o przeglądarce PHP
Osoby czytające tę publikację przeglądały również:
© 2004-2008 copyright by webmade.org