-
Notifications
You must be signed in to change notification settings - Fork 45
/
Copy pathget-browser.xml
179 lines (171 loc) · 5.54 KB
/
get-browser.xml
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
174
175
176
177
178
179
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 3c699fad2dd94ee926ba04bdaf79e6f14b5b728b Maintainer: sammywg Status: ready -->
<!-- Reviewed: yes -->
<!-- Rev-Revision: 1.0 Reviewer: samesch -->
<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>Ermittelt die Fähigkeiten des Browsers eines Benutzers</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>
Diese Funktion versucht, die Fähigkeiten des Browsers des Benutzers zu
ermitteln, indem sie die Informationen über den Browser aus der Datei
<filename>browscap.ini</filename> ausliest.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>user_agent</parameter></term>
<listitem>
<para>
Der User-Agent, der analysiert werden soll. Per Voreinstellung wird der
Wert des HTTP User-Agent-Headers verwendet, jedoch können Sie das
ändern, &dh; Informationen über einen anderen Browser nachschlagen,
indem Sie diesen Parameter übergeben.
</para>
<para>
Dieser Parameter kann mit einem &null;-Wert umgangen werden.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>return_array</parameter></term>
<listitem>
<para>
Falls dieser Parameter auf &true; gesetzt wird, gibt die Funktion
statt eines <type>Objekts</type> ein <type>Array</type> zurück.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Die Informationen werden in einem Objekt oder Array zurückgegeben, das
verschiedene Datenelemente enthält. Dazu gehören &zb; die Haupt- und
Unter-Versionsnummer und Kennung des Browsers sowie &true;/&false;-Werte
für dessen Fähigkeiten, &zb; Frames, JavaScript, Cookies usw.
</para>
<para>
Der Wert von <literal>cookies</literal> sagt nur etwas darüber aus, ob der
Browser an sich in der Lage ist, Cookies anzunehmen, und nicht darüber, ob
der Benutzer die Annahme von Cookies aktiviert hat. Die einzige
Möglichkeit zu testen, ob Cookies akzeptiert werden, besteht darin, mittels
<function>setcookie</function> ein Cookie zu setzen, die Seite neu zu laden
und dessen Wert zu überprüfen.
</para>
<para>
Gibt &false; zurück, wenn keine Informationen abgerufen werden können,
&zb; wenn die Konfigurationseinstellung
<link linkend="ini.browscap">browscap</link> in der &php.ini; nicht gesetzt
wurde.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Auflistung aller Informationen über den Browser des Benutzers</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>
Damit es richtig funktioniert, muss die
<link linkend="ini.browscap">browscap</link>-Einstellung Ihrer &php.ini;
auf die richtige <filename>browscap.ini</filename>-Datei Ihres Systems
zeigen.
</para>
<para>
Die <filename>browscap.ini</filename> ist nicht Bestandteil von PHP, aber
eine aktuelle
<link xlink:href="&url.browscap.download;">php_browscap.ini</link>
bekommen Sie hier.
</para>
<para>
Da die <filename>browscap.ini</filename> Informationen zu vielen Browsern
enthält, obliegt es dem Skript-Schreiber, diese Datei auf dem Laufenden zu
halten. Das Format dieser Datei sollte selbsterklärend sein.
</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
-->