File: http.xml

package info (click to toggle)
phpdoc 20020310-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 35,272 kB
  • ctags: 354
  • sloc: xml: 799,767; php: 1,395; cpp: 500; makefile: 200; sh: 140; awk: 51
file content (254 lines) | stat: -rw-r--r-- 9,811 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
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
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
<?xml version="1.0" encoding="iso-8859-2"?>
 <reference id="ref.http">
  <title>HTTP funkce</title>
  <titleabbrev>HTTP</titleabbrev>

  <partintro>
   <simpara>
   Tyto funkce vm umouj manipulovat vstupem poslanm zpt browseru
   pmo na rovni HTTP protokolu.
   </simpara>
  </partintro>

  <refentry id="function.header">
   <refnamediv>
    <refname>header</refname>
    <refpurpose>Poslat HTTP hlaviku</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Popis</title>
     <methodsynopsis>
      <type>int</type><methodname>header</methodname>
      <methodparam><type>string</type><parameter>string</parameter></methodparam>
     </methodsynopsis>
    <para>
     Funkce <function>header</function> se pouv na zatku HTML souboru
     k odesln HTTP hlaviek. Vce informac o HTTP hlavikch viz <ulink
     url="&spec.http1.1;">Specifikace HTTP 1.1</ulink>.
     <emphasis>Poznmka:</emphasis> Pamatujte, e funkce
     <function>header</function> mus bt volna dve ne se odele jakkoliv
     normln vstup, a u normlnmi HTML tagy, nebo z PHP. Velmi obvyklou
     chybou je natat kd pomoc <function>include</function> nebo
     auto_prepend a mt v tomto kdu przdn dky, kter zpsob odesln
     vstupu ped volnm funkce <function>header</function>.
    </para>
    <para>
    Existuj dva zvltn ppady voln funkce <function>header</function>.
    Prvnm je hlavika &quot;Location&quot;. Ta nejene odele hlaviku
    browseru, ale navc i vrt Apachi stavov kd REDIRECT. Z pohledu autora
    skriptu by to nemlo bt dleit, ale je to dleit pro lidi, kte
    rozum vnitnostem Apache.
     <informalexample>
      <programlisting role="php">
header ("Location: http://www.php.net"); /* Pesmrujeme browser
                                            na web site PHP */
exit;                 /* Pojistme si, e se dal kd nevykon po
                         pesmrovn. */
      </programlisting>
     </informalexample>
    </para>
    <para>
    Druhm zvltnm ppadem jsou vechny hlaviky zanajc etzcem
    &quot;HTTP/&quot; (velikost psmen nehraje roli). Napklad, pokud
    direktiva ErrorDocument 404 vaeho Apache ukazuje na PHP skript, nebylo
    by od vci, kdyby skuten generoval 404. Prvn vc, kterou byste v tomto
    skriptu mli udlat tudz bude:
     <informalexample>
      <programlisting role="php">
header ("HTTP/1.0 404 Not Found");
      </programlisting>
     </informalexample>
    </para>
    <para>
    PHP skripty asto generuj dynamick HTML, kter nesm bt cachovno
    uivatelskm browserem, ani dnmi proxynami mezi serverem a uivatelskm
    browserem. Mnoho proxyn a klient se d donutit k vypnut cachovn s pomoc
     <informalexample>
      <programlisting role="php">
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // datum v minulosti
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
                                                      // vdy upraven
header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
header ("Pragma: no-cache");                          // HTTP/1.0
      </programlisting>
     </informalexample>
    </para>
    <para>
     Viz tak <function>headers_sent</function>
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.headers-sent">
   <refnamediv>
    <refname>headers_sent</refname>
    <refpurpose>Vrtit &true;, pokud byly odeslny hlaviky</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Popis</title>
     <methodsynopsis>
      <type>boolean</type><methodname>headers_sent</methodname>
      <methodparam><parameter>void</parameter></methodparam>
     </methodsynopsis>
    <para>
    Tato funkce vrt &true;, pokud u byly HTTP hlaviky
    odeslny, jinak &false;.
    </para>
    <para>
     Viz tak <function>header</function>
    </para>
   </refsect1>
  </refentry>

  <refentry id="function.setcookie">
   <refnamediv>
    <refname>setcookie</refname>
    <refpurpose>Poslat cookie</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Popis</title>
     <methodsynopsis>
      <type>int</type><methodname>setcookie</methodname>
      <methodparam><type>string</type><parameter>name</parameter></methodparam>
      <methodparam choice="opt"><type>string</type><parameter>value</parameter></methodparam>
      <methodparam choice="opt"><type>int</type><parameter>expire</parameter></methodparam>
      <methodparam choice="opt"><type>string</type><parameter>path</parameter></methodparam>
      <methodparam choice="opt"><type>string</type><parameter>domain</parameter></methodparam>
      <methodparam choice="opt"><type>int</type><parameter>secure</parameter></methodparam>
     </methodsynopsis>
    <para>
     <function>setcookie</function> definuje cookie, kter se pole
     spolu s hlavikami. Cookies se mus odeslat jako
     <emphasis>prvn</emphasis> ze vech HTTP hlaviek (to je omezen
     cookies, ne PHP). Voln tto funkce muste tud umstit ped
     <literal>&lt;html></literal> i <literal>&lt;head></literal> tagy.
    </para>
    <para>
    Vechny argumenty krom argumentu <parameter>name</parameter> jsou
    nepovinn. Pokud je ptomn pouze argument
    <parameter>name</parameter>, u klienta se smae cookie tohoto jmna.
    Kterkoliv argument mete tak nahradit przdnm etzcem
    (<emphasis>&quot;&quot;</emphasis>), m tento argument peskote.
    Argumenty <parameter>expire</parameter> a <parameter>secure</parameter>
    jsou celoseln a nedaj se peskoit przdnm etzcem. Msto toho
    pouijte nulu (<emphasis>0</emphasis>). Argument
    <parameter>expire</parameter> je bn Unixov celoseln vyjden
    asu, jak je vrac funkce <function>time</function> i
    <function>mktime</function>. Argument <parameter>secure</parameter>
    indikuje, e by se tento cookie ml penet pouze po zabezpeenm
    HTTPS spojen.
    </para>
    <para>
    Bn zdrhele:
     <itemizedlist>
      <listitem>
       <simpara>
       Cookies jsou pstupn a pi dalm naten strnky, na kter pstupn
       bt maj.
       </simpara>
      </listitem>
      <listitem>
       <simpara>
       Cookies se mus mazat se stejnmi parametry, se ktermi byly odeslny.
       </simpara>
      </listitem>
     </itemizedlist>
    </para>
    <simpara>
    V PHP 3 se vcensobn voln <function>setcookie</function> v jednom
    skriptu provedou v opanm poad. Pokud se pokoute smazat jeden
    cookie pe odeslnm jinho, mli byste umstit vloen ped smazn.
    V PHP 4 se vcensobn voln <function>setcookie</function> provedou
    v tom poad, jak jsou volna.
    </simpara>
    <para>
    Nkolik pklad, jak poslat cookies:
     <example>
      <title>Ukzky odesln cookies pomoc <function>setcookie</function></title>
      <programlisting role="php">
setcookie ("TestCookie", "Zkuebn hodnota");
setcookie ("TestCookie", $value,time()+3600);  /* vypr za hodinu */
setcookie ("TestCookie", $value,time()+3600, "/~rasmus/", ".utoronto.ca", 1);
      </programlisting>
     </example>
    </para>
    <para>
    Nsleduj pklady mazn cookies z pedchoz ukzky:
     <example>
      <title>Ukzky mazn cookies pomoc <function>setcookie</function></title>
      <programlisting role="php">
setcookie ("TestCookie");
// nastav dobu vypren na as ped hodinou
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", ".utoronto.ca", 1);
      </programlisting>
     </example>
     Pi mazn cookie byste se mli ujistit, e je doba vypren v minulosti,
     m se v browseru zapne mechanismus odstrann cookie.
    </para>
    <para>
    Vimnte si, e hodnotov st cookie se pi odesln cookie automaticky
    url-zakduje, a pi pijet se automaticky dekduje a piad promnn
    stejnho jmna, jako je jmno cookie. Pokud chcete vidt obsah naeho
    zkuebnho cookie, pouijte nkter z nsledujcch pklad:
     <informalexample>
      <programlisting role="php">
echo $TestCookie;
echo $HTTP_COOKIE_VARS["TestCookie"];
      </programlisting>
     </informalexample>
    </para>
    <para>
    Cookies obsahujc pole mete tak odeslat tak, e za nzev cookie napete
    hranat zvorky. inkem tohoto je odesln tolika cookies, kolik m vae
    pole prvk, ale kdy v skript tyto cookies pijme, hodnoty se umst
    v poli stejnho jmna, jako jsou vae cookies:
     <informalexample>
      <programlisting role="php">
setcookie ("cookie[three]", "cookiethree");
setcookie ("cookie[two]", "cookietwo");
setcookie ("cookie[one]", "cookieone");
if (isset ($cookie)) {
    while (list ($name, $value) = each ($cookie)) {
        echo "$name == $value&lt;br>\n";
    }
}
      </programlisting>
     </informalexample>
    </para>
    <para>
    Vce informac o cookies viz specifikace cookies na <ulink
     url="&spec.cookies;">&spec.cookies;</ulink>.
    </para>
    <simpara>
     Microsoft Internet Explorer 4 se Service Packem 1 zpracovv chybn
     cookies, kter maj nastaven argument <parameter>path</parameter>.
    </simpara>
    <simpara>
     Netscape Communicator 4.05 a Microsoft Internet Explorer 3.x zejm
     nezpracuj cookies sprvn, pokud nejsou nastaveny argumenty
     <parameter>path</parameter> a <parameter>time</parameter>.
    </simpara>
   </refsect1>
  </refentry>

 </reference>

<!-- 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:
-->