Получение недопустимых символов в методе get_browser () выполняется в php

Из руководств я запускаю простой код для получения информации обозревателя с помощью get_browser() .

Код в руководствах –

code_in_manuals

Код Я бегу (почти такой же / я пытался удалять echo "<pre>"; но никакого эффекта) –

 <?php echo $_SERVER['HTTP_USER_AGENT'] . "\n\n"; $browser = get_browser(null, true); echo "<pre>"; print_r($browser); ?> 

Это error/illegal characters я получаю в browser_name_regex

get_browser_error

Я также пробовал кодировку UTF 8 для символов, но проблема все еще сохраняется.

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Test browser</title> </head> <body> <?php echo $_SERVER['HTTP_USER_AGENT'] . "\n\n"; $browser = get_browser(null, true); echo "<pre>"; print_r($browser); ?> </body> </html> 

Дайте мне знать, что я делаю неправильно, и где искать решение?

Еще одна вещь, чтобы спросить, в одном документе –

Попытка определить возможности браузера пользователя, просмотрев информацию обозревателя в файле browscap.ini.

Где я могу найти этот browscap.ini в своей системе, я использую Windows 7 … хотя я не очень уверен, связано ли это с этой проблемой или нет.

Как вы сказали, что вы нашли файл browsercap.in в указанном вами пути, укажите этот абсолютный путь C:\xampp\php\extras\browscap.ini в файле php.ini, например

У меня есть моя локальная настройка (php.ini), на самом деле я создал файл броузера от другой функции, а затем вставлял его в файл, а затем нашел правильный вывод.

 [browscap] ;browscap = extra/browscap.ini browscap = D:\ZendServer\etc\browscap.ini 

вы можете указать свой абсолютный путь, как

 [browscap] ;browscap = extra/browscap.ini browscap = C:\xampp\php\extras\browscap.ini 

и код для проверки

 echo $_SERVER['HTTP_USER_AGENT'] . "\n\n"; $browser = get_browser(null, true); echo "<pre>";print_r($browser);die; 

Тот же вопрос задавался в результатах PHP – get_browser ()

Основываясь на информации там и информации, найденной на https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=612364, которая объясняет ошибку более подробно, я создал несколько строк кода, который решает проблему ,

Я отправил свой ответ и здесь, и там.

Код:

 if (function_exists('get_browser') && ini_get('browscap')) { $browser_info = get_browser(null, true); if (function_exists('mb_convert_encoding')) $browser_info['browser_name_regex'] = mb_convert_encoding($browser_info['browser_name_regex'], "UTF-8", "ISO-8859-1"); print_r($browser_info); }