File: get-browser.xml

package info (click to toggle)
php-doc 20061001-1
  • links: PTS
  • area: non-free
  • in suites: etch, etch-m68k
  • size: 45,764 kB
  • ctags: 1,611
  • sloc: xml: 502,485; php: 7,645; cpp: 500; makefile: 297; perl: 161; sh: 141; awk: 28
file content (140 lines) | stat: -rw-r--r-- 4,524 bytes parent folder | download
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
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.14 $ -->
<!-- splitted from ./en/functions/misc.xml, last change in rev 1.2 -->
  <refentry id="function.get-browser">
   <refnamediv>
    <refname>get_browser</refname>
    <refpurpose>
     Tells what the user's browser is capable of
    </refpurpose>
   </refnamediv>
   <refsect1>
    <title>Description</title>
    <methodsynopsis>
     <type>mixed</type><methodname>get_browser</methodname>
     <methodparam choice="opt"><type>string</type><parameter>user_agent</parameter></methodparam>
     <methodparam choice="opt"><type>bool</type><parameter>return_array</parameter></methodparam>
    </methodsynopsis>
    <para>
     <function>get_browser</function> attempts to determine the
     capabilities of the user's browser. This is done by looking up
     the browser's information in the <filename>browscap.ini</filename>
     file.
    </para>
    <para>
     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 the optional <parameter>user_agent</parameter> parameter to
     <function>get_browser</function>. You can bypass <parameter>user_agent</parameter>
     parameter with &null; value.
    </para>
    <simpara>
     The information is returned in an <type>object</type>, 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.
    </simpara>
    <simpara>
     As of PHP 4.3.2, if the optional parameter
     <parameter>return_array</parameter> is &true;, this function will return an
     <type>array</type> instead of an <type>object</type>.
    </simpara>
    <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
    [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] => 
)
]]>
      </screen>
     </example>
    </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>
    <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 <ulink url="&url.browscap.download;">up-to-date php_browscap.ini</ulink>
      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:"../../../../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
-->