суббота, января 05, 2008

PHP :: определение версии браузера

Попросил как-то друг написат такой скриптец, который бы определял с какого браузера (обычного или мобильно) зашел человек и перенаправлял на соответствующие страницы.

Почесав свой неумудрённый знаниями мозг, написал примерно следущее:

function check_ver() {

$browsers = array('Opera', 'MSIE 7.0', 'MSIE 6.0', 'Mozilla/5.0');
$browsers_mobile = array('Windows CE', 'NetFront', 'Palm OS', 'Blazer', 'Elaine', 'Opera mini');

$user_agent = $_SERVER['HTTP_USER_AGENT'];

foreach ($browsers_mobile as $v) {
if (stristr($user_agent, $v)) return 'mobile';
}

foreach ($browsers as $v) {
if (stristr($user_agent, $v)) return 'normal';
}

}

if ('normal' == check_ver()) {
header('location: http://www.yandex.ru');
exit();
} elseif ('mobile' == check_ver()) {
header('location: http://www.rambler.ru');
exit();
}

Массивы $browsers и $browsers_mobile - это соответственно массивы браузеров обычных и моильных, которые в свою очередь можно и нужно расширять.

Скриптец конечно же простейший, но для начала думаю пойдёт.

2 комментария:

Анонимный комментирует...

Спасибо, весьма полезный скрипт.
Главное осовременен под новые версии браузеров. А то в основном один мусор валяется под NetScape-ы всякие и т.п.

Amor комментирует...

Спасибо. Скрипт помог.