Все ленты — последние статьи

Определить браузер пользователя.

Определить браузер пользователя.
Веб-обозреватель, браузер (от англ. Web browser; вариант броузер — неправильно[1][2]) — программное обеспечение для просмотра веб-сайтов, то есть для запроса веб-страниц (преимущественно из Сети), их обработки, вывода и перехода от одной страницы к другой.


Википедия.
Для чего это может быть использовано?
На мой взгляд это применимо для ведения статистики.
И так на ваш суд выносится такое решение. Логика проста, используя глобальный массив, который уже существует в PHP, а выглядит он так:
$_SERVER['HTTP_USER_AGENT']
Найдём, с помощью регулярного выражения совпадения, те которые характерны для каждого браузера. Дело в том, что этот глобальный массив возвращает строку в которой описаны такие характеристики как, название браузера, его версия, операционная система и некоторые другие, т.е. те данные (заголовки), которые посылает серверу клиент (браузер), с помощью которого подключается пользователь к серверу. Ну или проще сказать выходит в интернет. В этом скрипте для проверки были использованы последние версии браузеров:

"Opera"
"Google Chrome"
"Firefox"
"Netscape Navigator"
"Internet Explorer"
"Maxton"

 

Вариант 1
В результате работы, функция выводит на монитор название браузера с которого вы подключились к странице. Если браузер не определён функция выведет строку Всё остальное..

Листинг № 1 — Функция — определяет название браузера клиента.
<?php
function brouse()
{
$r = $_SERVER['HTTP_USER_AGENT'];
$arr = array(" Opera ",
" Chrome/ ",
" Firefox/ ",
" Navigator/ ",
" MSIE ",
" MAXTHON "
);

$volums = array("Opera",
"Google Chrome",
"Firefox",
"Netscape Navigator",
"Internet Explorer",
"Maxton"
);


for($i=0; $i<count($arr); $i++)
{
if(preg_match($arr[$i], $r))
{
$a = $volums[$i];
}
}


if(!isset($a))
{
return "Всё остальное.";
}
return $a;
}

echo brouse();
?>

Вариант 2
В этом варианте представлена функция, которая имеет расширенные возможности. В частности она возвращает массив, значениями, которого являются (при условии, что определены) операционная система на которой работает клиент, название браузера и его версия.

Листинг № 2 — Функция — определит операционную систему, название браузера и его версию.
<?php
function brouse_2()
{
$r = $_SERVER['HTTP_USER_AGENT'];
$d = array($r);

// паттерны для нахождения os
$os_p = array(" WindowssNTs5.1 ",
" WindowssNTs5.0 ",
" Windowss98 ",
" Linuxsi686 ",
" WindowssNTs6.1 ",
" WindowssNTs6.0 ");

$os = array("Windows XP",
"Windows 2000",
"Windows 98",
"Linux",
"Windows 7",
"Windows Vista");

// Определяем OS
for($j=0; $j<count($os); $j++)
{
if(preg_match($os_p[$j], $r, $mas))
{
$h = str_replace($mas[0], $os[$j], $mas[0]);
array_push($d, $h);

}

}
// паттерны для нахождения браузера
$arr = array(" Opera/[0-9.]*s ",
" Chrome/[0-9.]*s ",
" Firefox/[0-9.]*$ ",
" Navigator/[0-9.]*$ ",
" MAXTHONs[0-9.]*(?=[)]) ",
" MSIEs[0-9.]* "
);


for($i=0; $i<count($arr); $i++)
{
if(preg_match($arr[$i], $r, $a))
{
// заполняем массив
array_push($d, str_replace("/", " ", $a[0]));

}

}
return $d;
}
echo "<pre>";
print_r(brouse_2());
echo "</pre>";
?>