-
Notifications
You must be signed in to change notification settings - Fork 79
/
Copy pathheaders-sent.xml
150 lines (138 loc) · 4.67 KB
/
headers-sent.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
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: b4989f5c1f052314ff2c36e9cc3d56b3a7a24e9b Maintainer: takagi Status: ready -->
<!-- Credits: mumumu -->
<refentry xml:id="function.headers-sent" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>headers_sent</refname>
<refpurpose>ヘッダが既に送信されているかどうかを調べる</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>headers_sent</methodname>
<methodparam choice="opt"><type>string</type><parameter role="reference">filename</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter role="reference">line</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
ヘッダがすでに送信されているかどうかを調べます。
</para>
<para>
ヘッダブロックがいったん送信されてしまった後で <function>header</function>
関数を使って新たなヘッダ行を送信することはできません。
この関数を使うには、少なくとも HTTP ヘッダ関連のエラーを予防する必要があります。
あるいは、<link linkend="ref.outcontrol">出力バッファリング</link>
を使う方法もあります。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
オプション引数の <parameter>filename</parameter> と
<parameter>line</parameter> がセットされている場合、
PHP のソースファイル名と出力が開始された行番号が、それぞれ
<parameter>filename</parameter> と <parameter>line</parameter>
に格納されます。
</para>
<note>
<para>
PHP のソースファイルを実行する前(たとえば、実行開始時にエラーが発生した場合) に出力が開始された場合、
<parameter>filename</parameter> は空文字列になります。
</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>line</parameter></term>
<listitem>
<para>
出力を開始した行番号。
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<function>headers_sent</function>
は、HTTP ヘッダがまだ送信されていない場合に &false;、
そうでないでない場合に &true; を返します。
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>headers_sent</function> 関数の使用例</title>
<programlisting role="php">
<![CDATA[
<?php
// ヘッダがまだ何も送信されていない場合に、送信します
if (!headers_sent()) {
header('Location: http://www.example.com/');
exit;
}
// オプションのfileとlineパラメータの使用例
// $filename と $linenum が後で使用されていることに注目。
// これらの変数に事前に値を与えたりしてはいけません。
if (!headers_sent($filename, $linenum)) {
header('Location: http://www.example.com/');
exit;
// おそらく、ここでエラー処理を行うでしょう。
} else {
echo "$filename の $linenum 行目でヘッダがすでに送信されています。\n" .
"リダイレクトできません。代わりにこの <a " .
"href=\"http://www.example.com\">リンク</a> をクリックしてください。\n";
exit;
}
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
¬e.network.header.sapi;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>ob_start</function></member>
<member><function>trigger_error</function></member>
<member><function>headers_list</function></member>
<member>
関連する詳細な情報については <function>header</function>
</member>
</simplelist>
</para>
</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
-->