Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [skrypt]rozpoznawanie typu i wersji przeglądarki
Forum PHP.pl > Inne > Oceny
enigma
jak że funkcja get_browser mi nie działa, postanowiłem sam coś takiego napisać. Dopiero zaczynam z php, więc prosze nie tyle o ocenę ale też o rady czy coś poprawić. Skrypt nie jest jeszcze w całości, ale już rozpoznaje kilka rodzajów stringów zwracanych przez $_SERVER['HTTP_USER_AGENT']. Narazie skrypt zwraca wyniki bezpośredni na stronę, ale będzie zmieniony na funkcję żeby było można załączać do stron

  1. <?php
  2. $info=strtolower($_SERVER['HTTP_USER_AGENT']);
  3. $nazwa_przeg="Nieznana";
  4. $wer_przeg="Nieznana";
  5. $dane=explode('/',$info);//dzięki temu dowiem się czy przeglądarką jest Opera przedstawiająca się jako Opera
  6. $danex=explode(' ',$info);//
  7. if($browsers==")")
  8. if(in_array('opera',$dane))
  9. {//jeśli Opera przestawia się jako Opera, to kolejny raz rozbijam ciągi, bo nazwie "opera" występuje spacja i numer wersji
  10. $nazwa_przeg="Opera";
  11. echo('Przeglądarka: <b>'.$nazwa_przeg.'</b><br />');
  12. $tablica=explode(' ',$dane[1]);
  13. $wer_przeg=$tablica[0];
  14. echo('Wersja: <b>'.$wer_przeg.'</b><br />');
  15. }
  16. elseif(in_array('america',$danex))
  17. {// sprawdzam czy to przeglądarka AOL Explorer
  18.  $nazwa_przeg="AOL Explorer";
  19.  echo('Przeglądarka: <b>'.$nazwa_przeg.'</b><br />');
  20.  $wer_przeg=strpos($info,'; ',strpos($info,'rev'));
  21.  echo('Wersja: <b>'.$wer_przeg.'</b><br />');
  22. }
  23. elseif(in_array('avant',$danex))
  24. {// sprawdzam czy to przeglądarka Avant Browser
  25. $nazwa_przeg="Avant Browser";
  26.  echo('Przeglądarka: <b>'.$nazwa_przeg.'</b><br />');
  27.  if($info=="Avant Browser (http://www.avantbrowser.com)")
  28.  {$wer_przeg="Stara";echo('Wersja: <b>'.$wer_przeg.'</b><br />');}
  29.  else
  30.  {$wer_przeg="Aktualna";echo('Wersja: <b>'.$wer_przeg.'</b><br />');}
  31. }
  32. else//jeśli to nie Opera jako Opera to sprawdzam jakie to IE
  33. {
  34. $nazwa_przeg="Internet Explorer";
  35. $start=strpos($info,'msie');
  36. $koniec=strpos($info,'; ',$start);
  37. $ie=substr($info,$start,$koniec-$start);
  38. echo('Przeglądarka: <b>'.$nazwa_przeg.'</b><br />');
  39. $tablica=explode(' ',$ie);
  40. $wer_przeg=$tablica[1];
  41. echo('Wersja: <b>'.$wer_przeg.'</b><br />');
  42. }
  43. else//jeśli to nie jest IE ani Opera jako Opera to sprawdzam pozostałe możliowści
  44. echo('Przeglądarka: <b>Inna</b><br />');
  45. echo('<hr />');
  46. ?>


EDI: i dotychczasowe działanie można sprawdzić pod http://www.ryznar.yoyo.pl/Guess_Browser.php
Bastion
Kompletnie nie trafiony sposób detekcji . Zobacz jak to zrobione jest w mojej
klasie Scout ( http://pliki.jarzebski.pl/demo/scout/examples/example01.php ) ,
która można pobrać z : http://pliki.jarzebski.pl/entry-5230015df9...b67d099712f.htm

żródło klasy Scout_Agents : http://phpfi.com/160085
mike
~enigma Twoja detekcja działa tylko w jednym przypadku.
Internet Explorer 6.0

Jak wejdę czym innym to wiecznie: Inna

Ocena 0/10 bo w ogóle nie działa.
enigma
zanim zacznę cokolwiek pisać, przypominam opis tematu dopiero zaczynam z php smile.gif

Cytat(Bastion @ 4.10.2006, 13:19:50 ) *
Kompletnie nie trafiony sposób detekcji.

na początek ujdzie, nie znam php ani w 1% to jak mam coś tworzyć lepiej biggrin.gif
Bastion mam prośbę, możesz tu wkleić tą część kodu któraodpowiada wyłącznie za detekcję przeglądarki i wytłumaczyć mi co nieco
co oznazcają np te cyferki i nawaisy blink.gif
  1. <?php
  2. array('(opera)[/]{0,1}[ ]{0,1}([0-9]{1,2}.[0-9]{1,2}[.0-9]{0,2})', 'Opera'),
  3. ?>



Cytat(mike_mech @ 4.10.2006, 13:30:20 ) *
~enigma Twoja detekcja działa tylko w jednym przypadku.
Internet Explorer 6.0
Jak wejdę czym innym to wiecznie: Inna
Ocena 0/10 bo w ogóle nie działa.

przepraszam Cię bardzo napisałem na początku
Cytat
Skrypt nie jest jeszcze w całości, ale już rozpoznaje kilka rodzajów stringów zwracanych przez $_SERVER['HTTP_USER_AGENT']


i coś słabo sprawdzałeś bo skrypt rozpoznaje IE, Operę (jeśli "przedstawia" się jako Opera), AOL Explorer i Avant Browser
Bastion
@enigma: tu wszystko pisze : http://pl2.php.net/eregi
co by nie pisać ( jak to gdzieś ująłeś ) więcej niepotrzebnych postów
Dandelion
ja wszedlem opera i wszystko wyglada ok

Opera/9.01 (Windows NT 5.1; U; pl)
Przeglądarka: Opera
Wersja: 9.01
enigma
Cytat(Bastion @ 5.10.2006, 19:07:22 ) *
tu wszystko pisze : http://pl2.php.net/eregi

ok, dzięki

Cytat(Bastion @ 5.10.2006, 19:07:22 ) *
co by nie pisać ( jak to gdzieś ująłeś ) więcej niepotrzebnych postów

no kurcze, dlaczego zaraz tak wszysko odbieracie negatywnie, tak wychodzi jak miałbym Was za nic, chodziło mi oto że dr_bonzo dał mi takie info że nie trzeba mi już pomagać w tamtym topiku tongue.gif nie złoście sie tak, sorry jeśli to kogoś z Was obraziło
Pozdrawiam

EDIT
Bastion znalazłem coś takiego, żeby eregi nie używać tongue.gif http://pornel.net/ereg tongue.gif, no ale narazie trzeba eregi przeanalizować smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.