1
0
mirror of https://github.com/php/doc-ja.git synced 2026-03-24 07:02:08 +01:00
Files
archived-doc-ja/reference/misc/functions/get-browser.xml

175 lines
5.8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 3c699fad2dd94ee926ba04bdaf79e6f14b5b728b Maintainer: hirokawa Status: ready -->
<!-- CREDITS: takagi -->
<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>ユーザーのブラウザの機能を取得する</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>
ユーザーのブラウザの機能を調べます。これは、<filename>browscap.ini</filename>
ファイルのブラウザ情報を調べることにより行います。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>user_agent</parameter></term>
<listitem>
<para>
処理するユーザーエージェント。デフォルトでは、HTTP の User-Agent
ヘッダの内容を使用します。しかし、このパラメータを渡すことでこれを変更する
(別のブラウザの情報を取得する) ことが可能です。
</para>
<para>
このパラメータを処理しないようにするには &null; 値を渡します。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>return_array</parameter></term>
<listitem>
<para>
&true; を指定すると、この関数はオブジェクトでなく配列を返します。
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
情報は、オブジェクトあるいは配列形式で返されます。
たとえばブラウザのメジャーバージョン番号、マイナーバージョン番号や
ID 文字列といったさまざまなデータが含まれています。また、
フレームや JavaScript、クッキーといった機能についての
&true;/&false; 値も含んでいます。
</para>
<para>
<literal>cookies</literal> の値は、単にそのブラウザがクッキーを扱う機能を
有していることを示すだけであり、ユーザーがクッキーを受け入れる設定に
しているかどうかを表すものではありません。それをチェックする唯一の方法は、
いったん <function>setcookie</function> でクッキーを設定してからリロードし、
その値を調べることです。
</para>
<para>
情報が取得できなかった場合は、&false; を返します。
たとえば、&php.ini;
<link linkend="ini.browscap">browscap</link>
が設定されていなかった場合などです。
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>ユーザーのブラウザについての全情報の一覧</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>
この関数が正常に機能するためには、&php.ini;<link linkend="ini.browscap">browscap</link>
設定が、システム上の <filename>browscap.ini</filename> の正確な位置を
指している必要があります。
</para>
<para>
<filename>browscap.ini</filename> は PHP にはバンドルされていません。
しかし、ここで最新の <link xlink:href="&url.browscap.download;">php_browscap.ini</link>
を入手することができます。
</para>
<para>
<filename>browscap.ini</filename> は多くのブラウザに関する情報をもっていますが、
データベースを最新に保つのはユーザーによる更新に依存しています。
ファイルのフォーマット自体を見ればおおよそのことがわかります。
</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
-->