File: get-browser.xml

package info (click to toggle)
php-doc 20241205~git.dfcbb86%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 70,956 kB
  • sloc: xml: 968,269; php: 23,883; javascript: 671; sh: 177; makefile: 37
file content (173 lines) | stat: -rw-r--r-- 5,186 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.get-browser" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
 <refnamediv>
  <refname>get_browser</refname>
  <refpurpose>Tells what the user's browser is capable of</refpurpose>
 </refnamediv>
 
 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <type class="union"><type>object</type><type>array</type><type>false</type></type><methodname>get_browser</methodname>
   <methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>user_agent</parameter><initializer>&null;</initializer></methodparam>
   <methodparam choice="opt"><type>bool</type><parameter>return_array</parameter><initializer>&false;</initializer></methodparam>
  </methodsynopsis>
  <para>
   Attempts to determine the capabilities of the user's browser, by looking
   up the browser's information in the <filename>browscap.ini</filename>
   file.
  </para>
 </refsect1>

 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    <varlistentry>
     <term><parameter>user_agent</parameter></term>
     <listitem>
      <para>
       The User Agent to be analyzed. By default, the value of HTTP
       User-Agent header is used; however, you can alter this (i.e., look up
       another browser's info) by passing this parameter.
      </para>
      <para>
       You can bypass this parameter with a &null; value.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>return_array</parameter></term>
     <listitem>
      <para>
       If set to &true;, this function will return an <type>array</type>
       instead of an <type>object</type>.
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
 </refsect1>

 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   The information is returned in an object or an array which will contain
   various data elements representing, for instance, the browser's major and
   minor version numbers and ID string; &true;/&false; values for features
   such as frames, JavaScript, and cookies; and so forth.
  </para>
  <para>
   The <literal>cookies</literal> value simply means that the browser
   itself is capable of accepting cookies and does not mean the user has
   enabled the browser to accept cookies or not. The only way to test if
   cookies are accepted is to set one with <function>setcookie</function>,
   reload, and check for the value.
  </para>
  <para>
    Returns &false; when no information can be retrieved, such as when the
    <link linkend="ini.browscap">browscap</link> configuration setting in 
    &php.ini; has not been set.
  </para>
 </refsect1>

 <refsect1 role="examples">
  &reftitle.examples;
  <para>
   <example>
    <title>Listing all information about the users browser</title>
    <programlisting role="php">
<![CDATA[
<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

$browser = get_browser(null, true);
print_r($browser);
?>
]]>
    </programlisting>
    &example.outputs.similar;
    <screen>
<![CDATA[
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
    [cssversion] => 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] =>
)
]]>
    </screen>
   </example>
  </para>
 </refsect1>

 <refsect1 role="notes">
  &reftitle.notes;
  <note>
   <para>
    In order for this to work, your <link 
    linkend="ini.browscap">browscap</link> configuration setting in 
    &php.ini; must point to the correct location of the
    <filename>browscap.ini</filename> file on your system.
   </para>
   <para>
    <filename>browscap.ini</filename> is not bundled with PHP, but you may
    find an up-to-date <link 
    xlink:href="&url.browscap.download;">php_browscap.ini</link> file here.
   </para>
   <para>
    While <filename>browscap.ini</filename> contains information on
    many browsers, it relies on user updates to keep the database
    current. The format of the file is fairly self-explanatory.
   </para>
  </note>
 </refsect1>

</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->