Półtora roku temu przedstawiłem Wam skomplikowany sposób sprawdzenia platformy/mobilnej przeglądarki za pomocą WURFL (Wireless Universal Resource File) w Zend Framework. Rozwiązanie to wymagało wielu zależności i nie było proste w obsłudze.
Tym razem coś o wiele prostszego. Wykorzystamy do tego wbudowaną w PHP funkcję get_browser(). Jedyne co potrzebujemy z zewnątrz jest to biblioteka browscap, która „nauczy” PHP rozpoznawania platform.
Oto przepis:
- Ściągamy browscap.ini na nasz serwer i zapisujemy jako /etc/php_browscap.ini.
- Edytujemy php.ini dodając/od komentując:
[source]
[browscap]
browscap = /etc/php_browscap.ini
[/source] - Teraz w PHP możemy w prosty sposób rozpoznać platformę, na której otworzona jest nasza strona:
[source language=”php”]
$browser = get_browser($request[’http_user_agent’], true);
$platform = isset($browser[’platform’]) ? $browser[’platform’] : null;switch($platform) {
case 'iOS’:
$url = 'http://www.matipl.pl/site-for-ios’;
break;
case 'Android’:
$url = 'http://www.matipl.pl/site-for-android’;
break;
case 'SymbianOS’:
$url = 'http://www.matipl.pl/site-for-symbian’;
break;
case 'BlackBerry OS’:
$url = 'http://www.matipl.pl/site-for-bb’;
break;
default:
$url = 'http://www.matipl.pl/’;
break;
}
[/source]
Prawda, że prosto? Co jakiś czas możemy zaktualizować browscap, w którym co jakiś czas pojawia się „obsługa” nowych urządzeń.
PS: W minionym tygodniu ekipa PHP znów połatała błędy. Polecam update do PHP 5.4.8 i PHP 5.3.18.