<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Раздел полезных советов: Ускорение get_browser() в PHP</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/39684.html</link>
    <description>В PHP есть очень удобная для разного рода статистики машин функция - get_browser(). &lt;br&gt;Она возвращает по юзерагенту объект, содержащий отфильтрованный набор информации &lt;br&gt;о браузере и его системе, как то имя, платформа, версия и т.п. &quot;Т.п.&quot; - это набор информации, &lt;br&gt;о поддержке кук, дотнета и еще кучи всего, мне не нужного.&lt;br&gt;&lt;br&gt;Недавно заметил, что при большом количестве обращений эта функция довольно медленная и ресурсоемкая. &lt;br&gt;Как положено, полез на http://www.php.net/get_browser читать, что пишут в комментариях.&lt;br&gt;&lt;br&gt;Первое, что попробовал, перейти на облегченную версию browscap.ini... &lt;br&gt;Помогло... процентов на 5 frown.gif&lt;br&gt;В коментах нашел Browser Capabilities PHP Project. По заявлениям автора одни из основных фитч &lt;br&gt;- быстрота и полная совместимость с get_browser().&lt;br&gt;&lt;br&gt;Мне так-же понравилось автоматическое обновление browscap.ini.&lt;br&gt;&lt;br&gt;С совместимостью оказалось не все гладко. Если у get_browser() все свойства написаны строчными,&lt;br&gt;то у данного проекта их названия пишутся с большой буквы,&lt;br&gt;следовательно совмести</description>

<item>
    <title>Ускорение get_browser() в PHP (BigNest)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/39684.html#5</link>
    <pubDate>Tue, 11 May 2010 13:30:26 GMT</pubDate>
    <description>В указанном коде возможна SQL-инъекция путём подстановки произвольного UAgent.&lt;br&gt;</description>
</item>

<item>
    <title>Ускорение get_browser() в PHP (Антон)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/39684.html#4</link>
    <pubDate>Fri, 11 Jan 2008 07:52:22 GMT</pubDate>
    <description>&amp;gt;да.... тяжело бывает не знать что такое регулярные выражения &lt;br&gt;&lt;br&gt;Там задача не только строку user_agent разобрать, но и по ключу найти параметры браузера из базы. Стандартный get_browser, как я понял, на каждый запрос парсит текстовый файл browscap.ini с базой параметров, килобайт 400.&lt;br&gt;</description>
</item>

<item>
    <title>Ускорение get_browser() в PHP (switch)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/39684.html#3</link>
    <pubDate>Fri, 11 Jan 2008 06:18:30 GMT</pubDate>
    <description>Идея не нова. В скорости возможно и есть выиграш на глаз, но думаю узкое место будет mhash. По двум причинам, как сказали - это действительно не уникально, второе - эта функция не из быстрых.&lt;br&gt;</description>
</item>

<item>
    <title>Ускорение get_browser() в PHP (klubben)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/39684.html#2</link>
    <pubDate>Fri, 11 Jan 2008 05:26:13 GMT</pubDate>
    <description>Жуть :)&lt;br&gt;p.s. А кто сказал что хэш уникальный?&lt;br&gt;</description>
</item>

<item>
    <title>Ускорение get_browser() в PHP (Antrew)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/39684.html#1</link>
    <pubDate>Fri, 11 Jan 2008 05:09:30 GMT</pubDate>
    <description>да.... тяжело бывает не знать что такое регулярные выражения&lt;br&gt;</description>
</item>

</channel>
</rss>
