cvs: phpdoc /pl/functions http.xml

From: Date: Thu, 08 Nov 2001 00:02:55 +0000
Subject: cvs: phpdoc /pl/functions http.xml
Groups: php.doc 
Request: Send a blank email to phpdoc+get-969338540@lists.php.net to get a copy of this message
leszek Wed Nov 7 19:02:55 2001 EDT Modified files: /phpdoc/pl/functions http.xml Log: Upgraded to english version 1.31 .

Index: phpdoc/pl/functions/http.xml diff -u phpdoc/pl/functions/http.xml:1.1 phpdoc/pl/functions/http.xml:1.2 --- phpdoc/pl/functions/http.xml:1.1 Tue Oct 23 07:19:36 2001 +++ phpdoc/pl/functions/http.xml Wed Nov 7 19:02:55 2001 @@ -1,5 +1,8 @@ <?xml encoding="iso-8859-2"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> +<!-- t³umacz: Tomasz Wójtowicz +aktualizacja do wersji en 1.6 z naszego CVSu +w dniu 7.11.2001 --> <reference id="ref.http"> <title>Funkcje obs³ugi HTTP</title> <titleabbrev>HTTP</titleabbrev> @@ -7,7 +10,7 @@ <partintro> <simpara> Te funkcje pozwalaj± ci operowaæ na danych wysy³anych do przegl±darki - internetowej ju¿ na poziomie protoko³u HTTP. + internetowej na poziomie protoko³u HTTP. </simpara> </partintro> @@ -27,34 +30,32 @@ </funcprototype> </funcsynopsis> <para> - Funkcja <function>header</function> s³u¿y do wys³ania surowego - nag³ówka HTTP przed wys³aniem zawarto¶ci dokumentu <acronym>HTML</acronym>. + <function>header</function> s³u¿y do wys³ania surowego + nag³ówka <acronym>HTTP</acronym>. Zajrzyj do <ulink url="&spec.http1.1;">Specyfikacji HTTP 1.1</ulink> - aby dowiedzieæ siê wiêcej na temat nag³ówków HTTP. + aby dowiedzieæ siê wiêcej na temat nag³ówków <acronym>HTTP</acronym>. </para> <para> - Opcjonalny parametr <parameter>replace</parameter> okre¶la, czy podany - nag³ówek ma zast±piæ nag³ówek tego samego typu przygotowany przez serwer, + Opcjonalny agrument <parameter>zamieñ</parameter> okre¶la, czy funkcja + ma zast±piæ nag³ówek tego samego typu przygotowany przez serwer, czy dodaæ jeszcze jeden. Domy¶lnie, oryginalny nag³ówek zostanie zast±piony, ale je¶li ustawisz ten argument na &false;, to nowy nag³ówek zostanie dodany do ju¿ istniej±cych. Na przyk³ad: <informalexample> <programlisting role="php"> -header('www-authenticate: Negociate'); -header('www-authenticate: NTLM',false); +header('WWW-Authenticate: Negociate'); +header('WWW-Authenticate: NTLM',false); </programlisting> </informalexample> </para> <para> - W PHP s± dwa specjalne wywo³ania funkcji <function>header</function>. - Pierwszym z nich jest &quot;Location&quot;. To wywo³anie, nie tylko - wysy³a ten nag³ówek do przegl±darki, ale tak¿e zwraca do serwera Apache - status PRZEKIEROWANIA. Z punktu widzenia pisz±cego skrypt PHP nie jest - to najistostniejsze, jednak dla osób, które rozumiej± zasadê dzia³ania - Apache'a mo¿e byæ to istotne. + W PHP s± dwa specjalne wywo³ania <function>header</function>. + Pierwszym z nich jest &quot;Location&quot;. To wywo³anie nie tylko + wysy³a ten nag³ówek do przegl±darki, ale tak¿e wysy³a do przegl±darki + status przekierowania <literal>REDIRECT</literal> (302). <informalexample> <programlisting role="php"> -header ("Location: http://www.php.net/"); /* Przekieruj przegl±darkê +header("Location: http://www.php.net/"); /* Przekieruj przegl±darkê na stronê g³ówn± PHP */ exit; /* Upewnij siê, ¿e kod poni¿ej nie zostanie wykonany po przekierowaniu. */ @@ -63,17 +64,17 @@ </para> <note> <para> - Protokó³ HTTP 1.1 wymaga URL-i bezwzglêdnych w nag³ówku + Protokó³ HTTP 1.1 wymaga bezwzglêdnego <acronym>URI</acronym> w nag³ówku <ulink url="&spec.http1.1;/rfc2616-sec14.html#sec14.30">Location:</ulink> - w³±cznie z okre¶leniem protoko³u, nazwy hosta and i bezwzglêdnej scie¿ki - dostêpu. - Niektóre klienty mog± akceptowaæ wzglêdne URL-e, jednak zdecydowanie nie - powinienie¶ bazowaæ na tym. Zwykle u¿ywa siê + w³±cznie z okre¶leniem protoko³u, nazwy hosta i bezwzglêdnej scie¿ki + dostêpu, ale niektóre klienty akceptuj± wzglêdne <acronym>URI</acronym>. + Zwykle u¿ywa siê $HTTP_SERVER_VARS['HTTP_HOST'], $HTTP_SERVER_VARS['PHP_SELF'] i - funkcji <function>dirname</function> by wygenerowaæ bezwglêdnego URL-a: + funkcji <function>dirname</function> by wygenerowaæ bezwglêdnego + <acronym>URI</acronym>: <informalexample> <programlisting> -header ("Location: http://".$HTTP_SERVER_VARS['HTTP_HOST'] +header("Location: http://".$HTTP_SERVER_VARS['HTTP_HOST'] ."/".dirname($HTTP_SERVER_VARS['PHP_SELF']) ."/".$relative_url); </programlisting> @@ -82,35 +83,66 @@ </note> <para> Drugim specjalnym wywo³aniem funkcji jest ka¿dy nag³ówek zaczynaj±cy siê - od ci±gu znaków &quot;HTTP/&quot; (wielko¶æ liter nie gra roli). Na - przyk³ad, je¶li dyrektywa konfiguracyjna ErrorDocument 404 twojego Apache-a - wskazuje na skrypt PHP, by³oby dobrze przekonaæ siê, czy ten skrypt - faktycznie generuje 404. Pierwsz± rzecz±, któr± powiniene¶ zrobiæ w swoim - skrypcie jest wtedy: + od ci±gu znaków &quot;<literal>HTTP/</literal>&quot; (wielko¶æ liter nie + gra roli), którego u¿ywa siê do okre¶lenia, jaki kod statusu HTTP ma zostaæ + wys³any. + Na przyk³ad, je¶li skonfigurowa³e¶ Apache'a tak, ¿e skrypt PHP obs³uguje + zapytania do nieistniej±cych plików (za pomoc± dyrektywy + <literal>ErrorDocument</literal>), powiniene¶ zwróciæ uwagê, aby skrypt + generowa³ w³a¶ciwy kod statusu zapytania HTTP. <informalexample> <programlisting role="php"> -header ("HTTP/1.0 404 Not Found"); +header("HTTP/1.0 404 Not Found"); </programlisting> </informalexample> </para> + <note> + <para> + W PHP 3 dzia³a to tylko wtedy, kiedy PHP jest skompilowane jako modu³ + serwera Apache. Taki sam efekt mo¿na osi±gn±æ za pomoc± nag³ówka + <literal>Status</literal>. + <informalexample> + <programlisting role="php"> +header("Status: 404 Not Found"); + </programlisting> + </informalexample> + </para> + </note> <para> - Skrypty PHP czêsto s³u¿± do generowania dynamicznych dokumentów HTML, które - nie mog± byæ buforowane przez klienta czy serwer proxy. Pamiêæ cache + Skrypty PHP czêsto s³u¿± do generowania dynamiczej tre¶ci, która + nie mo¿e byæ buforowana przez klienta czy serwer proxy. Pamiêæ cache w wiêkszo¶ci tych urz±dzeñ da siê wy³±czyæ dziêki: <informalexample> <programlisting role="php"> header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // data w przesz³o¶ci header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // ci±gle modyfikowany -header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 -header ("Pragma: no-cache"); // HTTP/1.0 +header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1 +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); // HTTP/1.0 </programlisting> </informalexample> - </para> - <para> - Pamiêtaj, ¿e funkcja <function>header</function> mo¿e byæ wywo³ywana - jedynie do momentu nim jakakolwiek tre¶æ zostanie wys³ana, czyli zarówno - znaczniki HTML, puste linie jak i wynik pracy PHP. Jest to bardzo + <note> + <para> + Mo¿esz zaobserwowaæ, ¿e strony nie s± buforowane, nawet je¶li + nie u¿y³e¶ wszystkich ww. nag³ówków. Jest wiele sposobów, w jakie + u¿ytkownicy mog± skonfigurowaæ swoje przegl±darki, aby zmieniæ + standardowy sposób buforowania. Przez wysy³nie powy¿szych nag³ówków, + powinno siê udaæ omin±æ jakiekolwiek ustawienia pozwalaj±ce + na zbuforowanie wyniku pracy twojego skryptu. + </para> + <para> + Dodatkowo, <function>session_cache_limiter</function> i dyrektywa + konfiguracyjna <literal>session.cache_limiter</literal> s³u¿± + do automatycznego generowania nag³ówków zwi±zanych z bufurowaniem, + kiedy sesje s± w u¿yciu. + </para> + </note> + </para> + <para> + Pamiêtaj, ¿e <function>header</function> mo¿e byæ wywo³ywana + jedynie do momentu nim zostanie wys³ana jakakolwiek tre¶æ, tzn. + znaczniki HTML, puste linie lub wynik pracy PHP. Jest to bardzo czêsty b³±d, gdzie skrypty z funkcjami <function>include</function>, <function>require</function> itp. maj± spacje albo puste linie przed wywo³aniem funkcji <function>header</function>. @@ -118,16 +150,53 @@ pojedynczym pliku PHP/HTML. <informalexample> <programlisting role="php"> -&lt;?php require("user_logging.inc") ?> +&lt;?php require("user_logging.inc") ?&gt; -&lt;?php header ("Content-Type: audio/x-pn-realaudio"); ?> +&lt;?php header ("Content-Type: audio/x-pn-realaudio"); ?&gt; // skrypt nie dzia³a - zauwa¿ puste linie pomiêdzy instrukcjami </programlisting> </informalexample> + <note> + <para> + W PHP 4 mo¿na u¿yæ buforowania wyj¶cia aby omin±æ ten problem. + Wszystko, co skrypt wy¶le do przegl±darki zostanie zatrzymane na + serwerze do momentu, kiedy pojawi siê instrukcja wys³ania danych. + Mo¿na to zrobiæ za pomoc± funkcji <function>ob_start</function> i + <function>ob_end_flush</function>, lub ustawiaj±c dyrektywê kofiguracyjn± + <literal>output_buffering</literal> w pliku <filename>php.ini</filename> + lub w plikach konfiguracyjnych serwera. + </para> + </note> + </para> + <para> + Aby u¿ytkownik zosta³ monitowany o zapisanie wysy³anych danych, + takich jak np. wygenerowany plik PDF, mo¿na u¿yæ nag³ówka <ulink + url="&url.rfc2183;">Content-Disposition</ulink> aby podaæ zalecan± nazwê + pliku i zmusiæ przegl±darkê do wy¶wietlenia okienka Zapisz jako. + <informalexample> + <programlisting role="php"> +&lt;?php +header("Content-type: application/pdf"); +header("Content-Disposition: attachment; filename=downloaded.pdf"); + +/* ... tre¶æ pliku pdf ... */ + </programlisting> + </informalexample> + <note> + <para> + W Microsoft Internet Explorer 4.01 jest b³±d, który uniemo¿liwia + wykorzystanie tego mechanizmu. Nie ma na to rozwi±zania. B³±d, który + zahacza o ten mechanizm, jest tak¿e w Microsoft Internet Explorer 5.5, + jednak da siê go omin±æ aktualizuj±c przegl±darkê poprzez Service Pack 2 + lub pó¼niejszy. + </para> + </note> </para> <para> - Zobacz te¿ <function>headers_sent</function> + Zobacz te¿ <function>headers_sent</function>, + <function>setcookie</function>, i rozdzia³ + <link linkend="features.http-auth">Autoryzacja HTTP</link>. </para> </refsect1> </refentry> @@ -146,8 +215,8 @@ </funcprototype> </funcsynopsis> <para> - Ta funkcja zwraca &true; je¶li nag³ówki HTTP ju¿ zosta³y wys³ane, lub - &false; w przeciwnym wypadku. + <function>headers_sent</function> zwraca &true; je¶li nag³ówki HTTP ju¿ + zosta³y wys³ane, lub &false; w przeciwnym wypadku. </para> <para> Zobacz te¿ <function>header</function> @@ -293,12 +362,13 @@ </para> <simpara> Microsoft Internet Explorer 4 z zainstalowanym Service Pack 1 nie radzi - sobie poprawnie z ciasteczkami, które maj± ustawiony parametr ¶cie¿ka. + sobie poprawnie z ciasteczkami, które maj± ustawiony parametr + <parameter>¶cie¿ka</parameter>. </simpara> <simpara> - Netscape Communicator 4.05 i Microsoft Internet Explorer 3.x obs³uguj± - niepoprawnie ciasteczka, w których ¶cie¿ka i data_wa¿no¶ci nie s± - ustawione. + Netscape Communicator 4.05 i Microsoft Internet Explorer 3.x niepoprawnie + obs³uguj± ciasteczka, w których <parameter>¶cie¿ka</parameter> i + <parameter>data_wa¿no¶ci</parameter> nie s± ustawione. </simpara> </refsect1> </refentry>
« previous php.doc (#969338540) next »