Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Sprawdzenie przeglądarki
sadistic_son
post
Post #1





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Da się php sprawdzić konkretną wersję IE używając coś innego niż poniższe?
$_SERVER['HTTP_USER_AGENT'] wywala za dużo informacji. Ja potrzebuję tylko czy jest to IE 5,6,7 czy 8 i najlepiej aby tylko cyfrę funkcja zwracała.

Wszystko byłoby ok gdyby to:
  1. $browser = get_browser(null, true);
  2. echo $browser['version'];
nie zwracało mi błędu:
Kod
Warning: get_browser() [function.get-browser]: browscap ini directive not set in /mnt/home/xxxx/index.php on line 78

Wyczytałem w necie że: "unfortunately with this function there is no way to get it to work without editing php.ini or httpd.conf. you will need to ask your host to uncomment the browscap line and put the file somewhere on the server. this directive is only changable in php.ini or httpd.conf, not thru ini_set."
Ja oczywiście jako zwykły użytkownik serwera nie mam dostępu do php.ini ani httpd.conf.

JavaScript odpada niestety.
Jakieś inne pomysły?

EDIT:
Wykombinowałem coś takiego:
  1. if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6') !== false ||
  2. strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 5') !== false ||
  3. strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 4') !== false ||
  4. strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 3') !== false) {
  5. //opcje dla IE < 7
  6. }
Właściwie to działa ale coś nie jestem przekonany do takiego rozwiązania. Może ktoś ma jeszcze inny pomysł?

Ten post edytował sadistic_son 19.01.2011, 05:04:53
Go to the top of the page
+Quote Post
Daimos
post
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


korzystaj z wyrażeń regularnych w takich wypadkach
preg_replace preg_match
Go to the top of the page
+Quote Post
erix
post
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A chyba zapomnieliście o tym, że w manualu, pod opisem właściwych funkcji są też i komentarze, w których często zdarzają się wartościowe perełki:

http://pl.php.net/manual/en/function.get-browser.php#70641
Go to the top of the page
+Quote Post
sadistic_son
post
Post #4





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Cytat(Daimos @ 19.01.2011, 09:45:27 ) *
korzystaj z wyrażeń regularnych w takich wypadkach
preg_replace preg_match
Czemu nie, ale rozwiązanie będzie identyczne jak moje.


Cytat(erix @ 19.01.2011, 09:49:00 ) *
To rzeczywiście byłoby ciekawe rozwiązanie, ale niestety:
Kod
Warning: parse_ini_file() has been disabled for security reasons in /mnt/home/xxxx on line 19
A co za tym idzie dalej:
Kod
Warning: Invalid argument supplied for foreach() in /mnt/home/xxx on line 20
W tym przypadku linijka 20 to:
  1. foreach($brows as $k=>$t){
Argument jest niepoprawny bo jest definiowany linijkę wyżej czyli 19:
  1. $brows=parse_ini_file("php_browscap.ini",true);
.
Tak więc niestetyerix ten komentarz nie pomaga (IMG:style_emoticons/default/sad.gif)

Ten post edytował sadistic_son 20.01.2011, 02:20:27
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Warning: parse_ini_file() has been disabled for security reasons in /mnt/home/xxxx on line 19

ŻE CO?!

Weź Ty zmień serwer, bo to jest chyba jakaś prowizorka...

Cytat
Tak więc niestetyerix ten komentarz nie pomaga

Nie wyciągnąłeś wniosków z tego, na co Ci zwróciłem uwagę: http://pl.php.net/manual/en/function.parse...-file.php#98438

Myślenie nie boli.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 18:20