PHP - belirli tarayıcıları Ekran mesajları

4 Cevap php

Bunun için aradım ve bulduğum her şeyi ihtiyacım şekilde daha fazladır. Ben daha önce JavaScript yaptık, ama gerçekten PHP kullanmayı tercih ediyorum. Nasıl onlar kullanmakta olduğunuz tarayıcı bağlı olarak, benim ziyaretçilere bir ileti görüntüleyerek hakkında gitmek istiyorsunuz?

Örnek:

IE Kullanıcı görecekti: "Internet Explorer kullanıyorsanız"

Firefox Kullanıcı görecekti: "Mozilla Firefox kullanıyorsanız"

IE, Firefox, Chrome, Safari ve Opera yanı sıra diğer önemli tarayıcıları varsa tam olarak emin değilim. Ama en azından ayrı ayrı bu tarayıcılara her birine yönelik bir mesaj var isterim. Teşekkür ederim.

4 Cevap

Kullanıcının tarayıcı sunucu tarafı belirlemek için, $_SERVER['HTTP_USER_AGENT'] değişkeni ayrıştırmak gerekecek ...


... Or, probably better, use the get_browser function -- just note you'll have to configure something in php.ini, or you'll get this kind of warning :

Warning: get_browser() [function.get-browser]: browscap ini directive not set

PHP kılavuzu sayfa dediği gibi:

Note : In order for this to work, your browscap configuration setting in php.ini must point to the correct location of the browscap.ini file on your system. browscap.ini is not bundled with PHP, but you may find an up-to-date » php_browscap.ini file here.

While browscap.ini contains information on many browsers, it relies on user updates to keep the database current. The format of the file is fairly self-explanatory.


After downloading that file and adding this line to php.ini :

browscap = /home/squale/developpement/tests/temp/php_browscap.ini

Aşağıdaki kod bölümü:

var_dump(get_browser(null, true));

Bana verir:

array
  'browser_name_regex' => string '^mozilla/5\.0 (x11; .*linux.*; .*rv:1\.9.*) gecko/.*$' (length=53)
  'browser_name_pattern' => string 'Mozilla/5.0 (X11; *Linux*; *rv:1.9*) Gecko/*' (length=44)
  'parent' => string 'Mozilla 1.9' (length=11)
  'platform' => string 'Linux' (length=5)
  'browser' => string 'Mozilla' (length=7)
  'version' => string '1.9' (length=3)
  'majorver' => string '1' (length=1)
  'minorver' => string '9' (length=1)
  'alpha' => string '1' (length=1)
  'frames' => string '1' (length=1)
  'iframes' => string '1' (length=1)
  'tables' => string '1' (length=1)
  'cookies' => string '1' (length=1)
  'javaapplets' => string '1' (length=1)
  'javascript' => string '1' (length=1)
  'cssversion' => string '2' (length=1)
  'supportscss' => string '1' (length=1)
  'beta' => string '' (length=0)
  'win16' => string '' (length=0)
  'win32' => string '' (length=0)
  'win64' => string '' (length=0)
  'backgroundsounds' => string '' (length=0)
  'cdf' => string '' (length=0)
  'vbscript' => string '' (length=0)
  'activexcontrols' => string '' (length=0)
  'isbanned' => string '' (length=0)
  'ismobiledevice' => string '' (length=0)
  'issyndicationreader' => string '' (length=0)
  'crawler' => string '' (length=0)
  'aol' => string '' (length=0)
  'aolversion' => string '0' (length=1)

firefox 3.5 üzerinde; ve:

array
  'browser_name_regex' => string '^.*$' (length=4)
  'browser_name_pattern' => string '*' (length=1)
  'browser' => string 'Default Browser' (length=15)
  'version' => string '0' (length=1)
  'majorver' => string '0' (length=1)
  'minorver' => string '0' (length=1)
  'platform' => string 'unknown' (length=7)
  'alpha' => string '' (length=0)
  ....
  'aol' => string '' (length=0)
  'aolversion' => string '0' (length=1)

Linux için Google Chrome son sürümüne (4.0.203.2) Açık - iyi, o gece inşa çeşit düşünüyor, ben onu kabul değil normal herhalde ...

Bir referans olarak, burada kullanıcı aracısı dizesi var olduğunu:

string 'Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/4.0.203.2 Safari/532.0' (length=109)


This show that get_browser is nice ; but maybe not perfect for some cutting-edge test browser -- still, should work fine with most "common" browsers, I suppose...

PHP tarayıcı için tek yol HTTP_USER_AGENT itibaren, kullanıcı ajan olduğunu düşünüyorum.

Ya PHP işlevi get_browser kullanılarak () -> http://us3.php.net/function.get-browser

<?php
  $browser = get_browser();
  echo 'You using '.$browser['browser'];
?>

http://www.php.net/function.get-browser daha fazla bilgi

Burada browscap.ini dosyasını alabilirsiniz http://browsers.garykeith.com/downloads.asp

Her kullanıcı, ne olursa olsun onun tarayıcı sürümü için tarayıcı ayarları, böylece (örneğin Java devre dışı) farklı yetenekleri oluyor işleyebilirsiniz beri tarayıcı yetenekleri sunucu tarafı belirlemek için iyi bir yol, aslında yoktur.

Eğer sunucu tarafı ile birlikte istemci tarafında başvurunca, birçok JScript kitaplıkları orada yapabilirsiniz ki vardır, örneğin, link text