X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Скрипт для определения браузера и ОС, А так же определить версии. Помогите найти.
kuku_mw
kuku_mw
Topic Starter сообщение 11.3.2010, 4:44; Ответить: kuku_mw
Сообщение #1


Vне нужен скрипт для определения типов и версий браузеров и операционок на сайте и этот скрипт должен записывать результаты в базу помогите пожалуйста буду очень благодарен!
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
yury_mw
yury_mw
сообщение 11.3.2010, 15:42; Ответить: yury_mw
Сообщение #2


(kuku @ 11.3.2010, 3:50) *
Прощу прощения, что влез, но мне очень нужна помощь помогите мне пожалуйста нужен скрипт для определения типов и версий браузеров и опрационок посетителей сайта, который мне полученную инфу запишет в базу подскажите скриптик оооооооочень нужно!!!!!!!!!!!!!!!!!!!!!!!!!1

kuku,
$_SERVER['HTTP_USER_AGENT'] вам в руки.
Ниже несколько примеров содержимого этой переменной для разных сочетаний осей и браузеров:
(Win XP + IE8)
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

(Win XP + Opera 10.50)
Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.5.22 Version/10.50

(Win XP + Firefox 3.6)
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)

(Win2k + IE 5.01)
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

(Win98 + Opera 6.04)
Mozilla/4.0 (compatible; MSIE 5.0; Windows 98) Opera 6.04 [ru]

(Linux под иксами с NS 7.1)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624 Netscape/7.1


Немного кода на php (определяем тип и версию браузера и тип ОС, версию оси - вам на факультатив)
[php]<?php

//============== Тип и версия браузера ==============
function browser_info($agent) {

// Cигнатуру Opera ищем раньше ИЕ, т.к. опера иногда раньше обманывала,
// что она не опера, а ИЕ и добавляла себе ИЕшную сигнатуру "MSIE")

// Ищем сигнатуру Opera старый вариант: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98) Opera 6.04 [ru]
if (ereg( 'Opera ([0-9].[0-9]{1,2})', $agent, $version)) :
$browse_type = "Opera";
$browse_version = $version[1];

// Ищем сигнатуру Opera новый вариант (версия живет отдельно): Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.5.22 Version/10.50
elseif (ereg( 'Opera/', $agent)):
ereg( 'Version/([0-9]{1,2}.[0-9]{1,2})', $agent, $version);
$browse_type = "Opera";
$browse_version = $version[1];

// Ищем сигнатуру Internet Explorer
elseif (ereg('MSIE ([0-9].[0-9]{1,2})', $agent, $version)):
$browse_type = "IE";
$browse_version = $version[1];

// Ищем сигнатуру Firefox
elseif (ereg('Firefox/([0-9].[0-9]{1,2})', $agent, $version)):
$browse_type = "Firefox";
$browse_version = $version[1];

// Ищем сигнатуру Chrome
elseif (ereg( 'Chrome/([0-9].[0-9]{1,2})', $agent, $version)) :
$browse_type = "Chrome";
$browse_version = $version[1];

// Ищем сигнатуру Netscape
elseif (ereg( 'Netscape/([0-9].[0-9]{1,2})', $agent, $version)) :
$browse_type = "Netscape";
$browse_version = $version[1];

// Если все мимо
// значит наша функция этот браузер не знает
else :
$browse_type = "Unknown";
$browse_version = "Unknown";
endif;

// Возвращаем тип и версию браузера в виде массива
return array ($browse_type, $browse_version);
}

//============== Тип операционной системы ==============
function opsys_info($agent) {

// Ищем сигнатуру Windows
if ( strstr ($agent, 'Win') ) :
$opsys = "Windows";

// Ищем сигнатуру Linux
elseif ( strstr($agent, 'Linux') ) :
$opsys = "Linux";

// Ищем сигнатуру UNIX
elseif ( strstr ($agent, 'Unix') ) :
$opsys = "Unix";

// Ищем сигнатуру Macintosh
elseif ( strstr ($agent, 'Mac') ) :
$opsys = "Macintosh";

// Ничего не нашли - хз какая ось
else :
$opsys = "Unknown";
endif;

// Возвращаем информацию об оси
return $opsys;
}

$agent = $_SERVER['HTTP_USER_AGENT'];
echo "<pre>";
print_r (browser_info($agent));
print_r (opsys_info($agent));
echo "</pre>";

?>[/php]


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
сообщение 11.3.2010, 20:39; Ответить: gaaarfild
Сообщение #3


Это двухминутный скриптик. Все необходмые данные храняться в суперглобальном массиве $_SERVER
Посмотреть под каким индексом, можете, напечатав в PHP

print_r($_SERVER);


Запись в БД - это другая тема. А форум не для раздачи скриптов, а для того, чтобы научиться.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 11.3.2010, 20:53; Ответить: ZiTosS
Сообщение #4


kuku, файл основного скрипта по определению ОС и браузера в аттаче. Файл называется browser_detection.php. Мощный скрипт, вытаскивает много лишнего, поэтому ниже ограничимся только ОС и браузером

Ниже приведен файл, для инициализации двух собственных переменных $_SERVER['CLIENT_BROWSER'] и $_SERVER['CLIENT_OS'] (заметим что таких переменных нет в стандарте)
client_detect.php
[php]<?php

require_once("browser_detection.php"); // файлы должны находиться в одном каталоге

function browser_detection_initBD()
{
$os = "";
// change these two to match your include path/and file name you give the script
$browser_info = browser_detection('full');

$browser_info[] = browser_detection('moz_version');

switch ($browser_info[5])
{
case 'win':
$os .= 'Windows ';
break;
case 'nt':
$os .= 'Windows NT ';
break;
case 'lin':
$os .= 'Linux ';
break;
case 'mac':
$os .= 'Mac ';
break;
case 'unix':
$os .= 'Unix Version: ';
break;
default:
$os .= $browser_info[5];
}

if ( $browser_info[5] == 'nt' )
{
if ($browser_info[6] == 5)
{
$os .= '5.0 (Windows 2000)';
}
elseif ($browser_info[6] == 5.1)
{
$os .= '5.1 (Windows XP)';
}
elseif ($browser_info[6] == 5.2)
{
$os .= '5.2 (Windows XP x64 Edition or Windows Server 2003)';
}
elseif ($browser_info[6] == 6.0)
{
$os .= '6.0 (Windows Vista)';
}
elseif ($browser_info[6] == 6.1)
{
$os .= '6.1 (Windows 7)';
}
}
elseif ( ( $browser_info[5] == 'mac' ) && ( $browser_info[6] >= 10 ) )
{
$os .= 'OS X';
}
elseif ( $browser_info[5] == 'lin' )
{
$os .= ( $browser_info[6] != '' ) ? 'Distro: ' . ucfirst ($browser_info[6] ) : 'Smart Move!!!';
}
elseif ( $browser_info[6] == '' )
{
$os .= ' (version unknown)';
}
else
{
$os .= strtoupper( $browser_info[6] );
}

$browser = '';
if ($browser_info[0] == 'moz' )
{
$a_temp = $browser_info[count( $browser_info ) - 1];// the moz array is last item
$browser .= ($a_temp[0] != 'mozilla') ? 'Mozilla/ ' . ucfirst($a_temp[0]) . ' ' : ucfirst($a_temp[0]) . ' ';
$browser .= $a_temp[1] . '; ';
$browser .= 'ProductSub: ';
$browser .= ( $a_temp[4] != '' ) ? $a_temp[4] . '; ' : 'Not Available; ';
$browser .= ($a_temp[0] != 'galeon')?'RV version: ' . $a_temp[3] : '';
}
elseif ( $browser_info[0] == 'ns' )
{
$browser .= 'Netscape ';
$browser .= $browser_info[1] . '';
}
else
{
$browser .= ($browser_info[0] == 'ie') ? strtoupper($browser_info[7]) : ucwords($browser_info[7]);
$browser .= ' ' . $browser_info[1];
}
$_SERVER['CLIENT_BROWSER'] = $browser;
$_SERVER['CLIENT_OS'] = $os;
}

browser_detection_initBD();

?>[/php]
Использование данной библиотеки у себя на сайте, к примеру, файл index.php:
[php]<?php

require_once("[путь]/client_detect.php");

echo "Ваша операционная система: {$_SERVER['CLIENT_OS']}";
echo "<br />";
echo "Ваш браузер: {$_SERVER['CLIENT_BROWSER']}";

?>[/php]
Прикрепленные файлы
Прикрепленный файл  browser_detection.zip ( 14,14 килобайт ) Кол-во скачиваний: 632
 
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sc2r2bey
sc2r2bey
сообщение 11.3.2010, 22:30; Ответить: sc2r2bey
Сообщение #5


все обшего развития http://softtime.ru/info/articlephp.php?id_article=69

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


--------------------
Заметки о разработке и не только
программирую web и для we
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Посоветуйте массажер для спины и шеи
11 Boymaster 920 Сегодня, 18:24
автор: Arsenwenger
Горячая тема (нет новых ответов) ⭕Антидетект браузер AdsPower для эффективной работы с мультиаккаунтами!
84 AdsPower 24572 Сегодня, 16:35
автор: AdsPower
Горячая тема (нет новых ответов) Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат
55 arendator 35104 Сегодня, 2:12
автор: arendator
Открытая тема (нет новых ответов) Rebex.io – Ваша инновационная платформа для обмена криптовалюты!
3 Rebex 973 Вчера, 20:50
автор: Rebex
Открытая тема (нет новых ответов) Обучение Email Рассылкам + Софт Для Автоматизации (100к в сутки с сервера)
10 zennoboss 4664 Вчера, 5:20
автор: Skyworker


 



RSS Текстовая версия Сейчас: 25.4.2024, 20:13
Дизайн