![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
alexey___ |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 12.3.2007 Где: Казахстан Репутация: 1 Всего: 1 |
что косается моих знаний, то они действительно нуждаются в улучшении - всего пару недель за php.
у меня вопрос! в интернете нашел, что при помощи функции get_browser() (нужно ещё правильно подключить файл browscap.ini) можно получить информацию и броузере клиента, также и том подключен ли javascript в броузере или нет. правильно ли я понял действии этой функции? т.е для чего это всё используется? как правильно подключить browscap.ini? |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Нельзя с её помощью получить такую информацию.
Что тебе уже несколько раз объяснили, и ты даже поблагодарил за объяснения. Это сообщение отредактировал(а) Feldmarschall - 27.7.2008, 23:00 |
|||
|
||||
elkeeper |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 28.7.2008 Репутация: 1 Всего: 1 |
Никого не слушай - функция правильная. То, что тебе тут несут (по другому не назвать), что мол нельзя пхп определить параметры браузера т.к. пхп - на сервере, а браузер - на клиенте - это полный бред и пляски с бубном. иди на http://ru2.php.net/manual/ru/function.get-browser.php - там по-компетентнее народ сидит. Настройка browscap.ini необходима, что бы вся эта канетель работала быстрее (здесь, видимо, имеется в виду настройка кэширования сего файла т.к. при вызове get_browser() она постоянно пробегает весь этот файл, выгружая его себе) Для "профессионалов - программистов", которые тут постили про невозможность определения параметров браузера: По-мимо настроек сервера, переменных и пр. во все ваши пхп скрипты передаются переменные окружения (есть такой зверь - представляете!?), в которых есть куча настроек текущих параметров работы php (начиная со страниц, с которых пришел пользователь и заканчивая настройками Apache (или, в общем, веб-сервера)). И что самое интересное, в эти же переменные окружения передаются и параметры браузера. А вы думали клиент только получает от сервера? Нет, не только. И мало того - передаёт уйму информации о себе. (Источник - phpinfo();) PS Всё работает нормально и без настройки browscap.ini PPS Ради интереса - выгрузка сей функции Исходник: <?php echo $_SERVER['HTTP_USER_AGENT'] . "\n\n"; $browser = get_browser(null, true); print_r($browser); ?> Результатом выполнения будет что-то подобное: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3 Array ( [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$ [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9* [parent] => Firefox 0.9 [platform] => WinXP [browser] => Firefox [version] => 0.9 [majorver] => 0 [minorver] => 9 [css] => 2 [frames] => 1 [iframes] => 1 [tables] => 1 [cookies] => 1 [backgroundsounds] => [vbscript] => [javascript] => 1 [javaapplets] => 1 [activexcontrols] => [cdf] => [aol] => [beta] => 1 [win16] => [crawler] => [stripper] => [wap] => [netclr] => ) Думаю, объяснять, что к чему, не надо...) PPPS Совет на будущее (псевдо-программистам) - прежде, чем с пеной у рта что-то доказывать, не поленитесь выяснить, не является ли это полным бредом. Это сообщение отредактировал(а) elkeeper - 28.7.2008, 20:18 |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
elkeeper, и как get_browser() вернет информацию о том, включен ли javascript на стороне клиента?
до кучи: вот request headers, который мой mozilla firefox отправляет для получения одной из картинок при работе с этой конкретной страницей(дамп получен при помощи полезного во многих отношениях firebug):
найди здесь "javascript: yes" или что-то аналогичное(сейчас я абсолютно умалкиваю о том, что всякие анонимайзерные плагины под разные браузеры искажают или вообще подавляют user-agent заголовки). снизойди. пожалуйста, очень тебя прошу. Добавлено через 2 минуты и 10 секунд мысль мелкнула: а не путаешь ли ты, elkeeper, состояние javascript(включен/выключен - например, плагином "no script" или через настройки) и поддержку javascript(как, например, lynx не поддерживает или консольный terminal)? Добавлено через 3 минуты и 11 секунд правда?! 0_о Добавлено через 6 минут и 33 секунды alexey___, смотри, не ведись на эту провокацию. если не веришь нам, не верь ему - проверь сам и убедись, что со включенным javascript и выключенным возвращает "волшебная" функция get_browser() и поверь(пока - на слово), что клиент далеко не всегда отдает в заголовках свой user-agent. и далеко не всегда в нем - корректная информация. и уж совсем нету в тех заголовках про состояние javascript'a и про установленные плагины/подержку activeX. совсем. Добавлено через 8 минут и 24 секунды дефис не нужен. |
|||
|
||||
alexey___ |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 12.3.2007 Где: Казахстан Репутация: 1 Всего: 1 |
ALL, интересная тема - неправда ли!!!???
проверил работу get_browser(). При включенном или выключенном javascript в броузере при проверке - всегда результат один единичка.
хотя в различных источниках советуют использовать get_browser, для получения информации о состоянии текущего броузера. НО ничего не выходит |
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
Естественно, т.к. единственное назначение этой функции - это определение браузера пользователя по заголовку User-Agent. А все значения полученного массива - это, как правильно заметил skyboy, возможности данного браузера (прим. GoogleBot не умеет выполнять JS, а FF умеет). |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
...в свою очередь, полученные исходя из данных в browsercap(abilities).ini. Следовательно, возможность распознать возможности по user-agent'y(если все же он будет получен и будет адекватный клиенту) зависит от версии PHP и/или доредактированности browsercap.ini, оттого полагаться на сей механизм даже в вопросах определения потенциальной поддержки javascript'a я бы не стал. а судя по тому, каким был первый пост товарища elkeeper на форуме и по его последующему молчанию, товарищ балуется троллизмом. |
|||
|
||||
elkeeper |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 28.7.2008 Репутация: 1 Всего: 1 |
Товарищ elkeeper не балуется троллизмом, а просто ехал с работы домой, убеждал себя в осутствии в headerах какого-либо намека на передачу каких-либо свойств браузера (кроме его названия), осознавал бесполезность функции get_browser (параллельно изучая такое же бесполезное содержание browsercap.ini) и заново открывал для себя переменные окружения. А теперь по теме. Хотел бы принести искренние извинения всем за присутствие здравого снобизма (именно снобизма - навязчивого желания оскорбить кого-либо не было) в собственном изложении - таков я есть и это остаётся на моей совести. (проходить курс "Убей в себе сноба" не буду, хотя было бы полезно) Также, хотел бы извиниться перед alexey___'ем за попытку "сбить с пути истинного" - не нарочно, честно. 12-ти часовой рабочий день дал о себе знать (да, рабочий день у меня начинается в 8 утра). И конечно же, всем большое человеческое спасибо за то, что не позволили миру получить ещё одного идиота-программиста (это я про себя) в самом расцвете сил. И ещё я научился пользоваться советами... своими советами ![]() PS Хотя про headerы можно было написать и сразу (это только после поста, я полез в Live HTTP-headers смотреть) - по-моему самое наглядное объяснение, что именно передает браузер и чего передавать он явно не может... |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
т.е. по-твоему простого "инфорация о клиенте в полной мере доступна тоьлко клиенту, а серверу - нет" - недостаточно? ![]() ну, не совсем. все же во время внедрения, браузеры были, наверное, честными(отдаавли корректный user agent), между собой слабо совместимыми на уровне верстки(internet explorer 4 и netscape какой-то там), javascript еле-еле осилил innerHTML - ни о каком createElement/getElementById речи не шло, потому эта функция, наверное, спасала целые народы. А сейчас, когда не то, что заголовки - куки подделывают... эээх... :( только в следующий раз на поворотах аккуратнее, ладушки? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |