Помощник
|
Скрипт для определения браузера и ОС, А так же определить версии. Помогите найти. |
kuku_mw
|
Сообщение
#1
|
||
|
|
||
|
|||
yury_mw |
11.3.2010, 15:42;
Ответить: yury_mw
Сообщение
#2
|
|
Прощу прощения, что влез, но мне очень нужна помощь помогите мне пожалуйста нужен скрипт для определения типов и версий браузеров и опрационок посетителей сайта, который мне полученную инфу запишет в базу подскажите скриптик оооооооочень нужно!!!!!!!!!!!!!!!!!!!!!!!!!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] |
|
|
gaaarfild |
11.3.2010, 20:39;
Ответить: gaaarfild
Сообщение
#3
|
|
Это двухминутный скриптик. Все необходмые данные храняться в суперглобальном массиве $_SERVER
Посмотреть под каким индексом, можете, напечатав в PHP print_r($_SERVER); Запись в БД - это другая тема. А форум не для раздачи скриптов, а для того, чтобы научиться. |
|
|
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]
Прикрепленные файлы
|
|
|
sc2r2bey |
11.3.2010, 22:30;
Ответить: sc2r2bey
Сообщение
#5
|
|
|
все обшего развития http://softtime.ru/info/articlephp.php?id_article=69
-------------------- программирую web и для we |
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Посоветуйте массажер для спины и шеи | 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 |
Текстовая версия | Сейчас: 25.4.2024, 20:13 |