cynic Wed Jan 24 05:12:35 2001 EDT
Added files:
/phpdoc/cs/features connection-handling.xml cookies.xml
http-auth.xml images.xml
persistent-connections.xml remote-files.xml
Log:
first couple of files
Index: phpdoc/cs/features/connection-handling.xml
+++ phpdoc/cs/features/connection-handling.xml
<chapter id="features.connection-handling">
<title>Obsluha spojen�</title>
<note>
<para>N�sleduj�c� text plat� pro verzi 3.0.7 a vy���.</para>
</note>
<para>
Stav spojen� se v PHP intern� sleduje. Jsou t�i mo�n� stavy:
<itemizedlist>
<listitem><simpara>0 - NORMAL (norm�ln�)</simpara></listitem>
<listitem><simpara>1 - ABORTED (zru�eno)</simpara></listitem>
<listitem><simpara>2 - TIMEOUT (vypr�el �asov� limit)</simpara></listitem>
</itemizedlist>
</para>
<simpara>
P�i norm�ln�m b�hu PHP skriptu je aktivn� stav NORMAL. Pokud se klient
odpoj�, nastav� se p��znak ABORTED. K odpojen� vzd�len�ho klienta typicky
doch�z�, kdy� u�ivatel zm��kne tla��tko STOP. Pokud se dos�hne �asov�ho
limitu (viz <function>set_time_limit</function>), nastav� se stavov� p��znak
TIMEOUT.
</simpara>
<simpara>
M��ete se rozhodnout jestli chcete, aby odpojen� klienta zp�sobilo p�ed�asn�
ukon�en� va�eho skriptu. N�kdy je u�ite�n� nechat skripty dob�hnout do konce,
p�esto�e nen� vzd�len�ho browseru, kter� by p�ij�mal v�stup. V�choz� chov�n�
je nicm�n� takov�, �e p�i odpojen� vzd�len�ho klienta dojde k ukon�en� b�hu
skriptu. Toto chov�n� se d� zm�nit skrze konfigura�n� direktivu
ignore_user_abort v php3.ini, odpov�daj�c� direktivu php3_ignore_user_abort
v .conf souboru Apache, �i funkci <function>ignore_user_abort</function>.
Pokud ned�te PHP pokyn ignorovat odpojen� u�ivatele a ten se odpoj�, v�
skript se ukon��. V�jimkou je, pokud m�te pomoc�
<function>register_shutdown_function</function> zaregistrovanou funkci pro
proveden� p�i ukon�en� skriptu. V tom p��pad�, pokud vzd�len� u�ivatel zm��kne
tla��tko STOP, p�i dal��m pokusu tohoto skriptu odeslat v�stup PHP detekuje,
�e spojen� bylo zru�eno, a zavol� se funkce zaregistrovan� pro proveden� p�i
ukon�en� skriptu. Tato funkce se zavol� tak� na konci b�hu skriptu kon��c�m
norm�ln�, tak�e pokud chcete po zru�en�m spojen� ud�lat n�co jin�ho, m��ete
pou��t <function>connection_aborted</function>. Tato funkce vr�t�
<literal>true</literal>, pokud bylo spojen� zru�eno.
</simpara>
<simpara>
V� skript m��e tak� ukon�it vestav�n� ��ta� �asu. V�choz� �asov� limit je
30 sekund. To se d� zm�nit max_execution_time direktivou v php�.ini nebo
odpov�daj�c� php3_max_execution_time direktivou v .conf souboru Apahe, �i
vol�n�m funkce <function>set_time_limit</function>. Kdy� ��ta� �asu dob�hne,
skript se ukon��, a jako ve v��e uveden�m p��pad� u�ivatelsk�ho odpojen�,
pokud je zaregistrovan� funkce pro proveden� p�i ukon�en� skriptu, tato se
zavol�. Uvnit� t�to funkce m��te zkontrolovat, jestli jej� zavol�n� zp�sobilo
dob�hnut� ��ta�e �asu zavol�n�m funkce <function>connection_timeout</function>.
Tato funkce vr�t� <literal>true</literal>, pokud vol�n� funkce registrovan�
pro proveden� p�i ukon�en� skriptu zp�sobilo dob�hnut� ��ta�e �asu.
</simpara>
<simpara>
Skute�nost� hodnou pov�imnut� je, �e stavy ABORTED a TIMEOUT mohou b�t
aktivn� sou�asn�. Mo�n� je to v p��pad�, �e na��d�te PHP ignorovat odpojen�
u�ivatee. PHP i tak bude v�d�t, �e u�ivatel p�eru�il spojen�, ale skript
pob�� d�l. Pokud potom dos�hne �asov�ho limitu, bude ukon�en, a zavol� se
va�e funkce pro proveden� p�i ukon�en� skriptu, pokud existuje. V tomto
okam�iku zjist�te, �e jak <function>connection_timeout</function>, tak
<function>connection_aborted</function> vracej� <literal>true</literal>.
Oba stavy m��ete zkontrolovat jedin�m vol�n�m funkce
<function>connection_status</function>. Tato funkce vrac� bitov� pole
aktivn�ch stav�. Tak�e nap��klad, pokud jsou aktivn� oba tyto stavy, vr�t�
3.
</simpara>
</chapter>
<!-- 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
sgml-parent-document:nil
sgml-default-dtd-file:"../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
Index: phpdoc/cs/features/cookies.xml
+++ phpdoc/cs/features/cookies.xml
<chapter id="features.cookies">
<title>Cookies</title>
<para>
PHP transparentn� podporuje HTTP cookies. Cookies jsou mechanismem na
ukl�d�n� dat ve vzd�len�m browseru a tud� sledov�n� nebo identifikaci
vracej�c�ch se u�ivatel�. Cookies m��ete nastavovat pomoc� funkce
<function>setcookie</function>. Cookies jsou sou��st� HTTP hlavi�ky,
tud� <function>setcookie</function> se mus� volat p�ed odesl�n�m v�stupu
do browseru. To je stejn� omezen�, jako m� funkce <function>header</function>.
</para>
<para>
V�echny cookies p�ijat� od klienta se automaticky st�vaj� PHP prom�nnou
stejn� jako u GET a POST dat. Pokud chcete p�i�adit jednomu cookie v�ce
hodnot, p�idejte <emphasis>[]</emphasis> na konec jm�na cookie. V�ce
detail� viz funkce <function>setcookie</function>.</para>
</chapter>
<!-- 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
sgml-parent-document:nil
sgml-default-dtd-file:"../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
Index: phpdoc/cs/features/http-auth.xml
+++ phpdoc/cs/features/http-auth.xml
<chapter id="features.http-auth">
<title>HTTP autentikace a PHP</title>
<simpara>
Prost�edky HTTP autentikace jsou v PHP p��stupn� pouze pokud PHP b�� jako
modul Apache, tud� nejsou p��stupn� v CGI verzi. V PHP skriptu b��c�m pod
modulem Apache lze pou��t funkci <function>Header</function> k odesl�n�
zpr�vy "Authentication Required" klientsk�mu browseru, co� vyvol� zobrazen�
dialogov�ho okna pro vlo�en� u�ivatelsk�ho jm�na a hesla. Jakmile u�ivatel
zad� jm�no a heslo, URL obsahuj�c� tento PHP skript se zavol� znovu s
prom�nn�mi $PHP_AUTH_USER, $PHP_AUTH_PW and $PHP_AUTH_TYPE obsahuj�c�mi
jm�no, heslo a typ autentikace. V sou�asnosti je podporov�na pouze "Basic"
autentikace. V�ce informac� viz funkce <function>Header</function>.
</simpara>
<para>
N�sleduj�c� fragment k�du m��e poslou�it jako uk�zka vy��d�n� autentikace
u�ivatele na str�nce:
<example>
<title>Uk�zka HTTP Autentikace</title>
<programlisting role="php">
<?php
if(!isset($PHP_AUTH_USER)) {
Header("WWW-Authenticate: Basic realm=\"My Realm\"");
Header("HTTP/1.0 401 Unauthorized");
echo "Text, kter� se ode�le, pokud u�ivatel zm��kne tla��tko Cancel\n";
exit;
} else {
echo "Ahoj $PHP_AUTH_USER.<P>";
echo "Jako heslo jsi zadal $PHP_AUTH_PW.<P>";
}
?>
</programlisting>
</example></para>
<para>
M�sto prot�ho vyti�t�n� $PHP_AUTH_USER a $PHP_AUTH_PW byste asi
cht�li ov��it platnost zadan�ho jm�na a hesla. Nap��klad dotazem
v datab�zi nebo vyhled�n�m u�ivatele v dbm souboru.
</para>
<para>
Pozor na chybov� browsery Internet Explorer. Zd� se, �e jsou velice
vyb�rav�, pokud jde o po�ad� hlavi�ek. Zd� se, �e odesl�n� hlavi�ky
<emphasis>WWW-Authenticate</emphasis> p�ed hlavi�kou
<errorcode>HTTP/1.0 401</errorcode> zab�r�.
</para>
<simpara>
Aby se zabr�nilo psan� skript� odhaluj�c�ch hesla na str�nk�ch
autentikovan�ch n�kter�m z tradi�n�ch extern�ch mechanism�, PHP_AUTH
prom�nn� se nevytvo��, pokud je pro tu kterou str�nku zapnuta extern�
autentikace. V takov�m p��pad� m��ete k identifikaci extern�
autentikovan�ho u�ivatele pou��t prom�nnou $REMOTE_USER.
</simpara>
<simpara>
V�imn�te si nicm�n�, �e v��e uveden� nezabr�n� kr�de��m hesel z
autentikovan�ch URL osobou, kter� ovl�d� neautentikovanou URL na stejn�m
serveru.
</simpara>
<simpara>
Jak Netscape, tak Internet Explorer po p�ijet� response k�du 401 vypr�zdn�
autentika�n� cache sou�asn�ho realmu. Tak m��ete u�ivatele v podstat�
"odlogovat". N�kte�� lid� toho vyu��vaj� k "vypr�en�" p�ihl�en� nebo
tvorb� odhla�ovac�ho tla��tka.
</simpara>
<simpara></simpara>
<example>
<title>Uk�zka HTTP autentikace vy�aduj�c� nov� jm�no a heslo</title>
<programlisting role="php">
<?php
function authenticate() {
Header( "WWW-authenticate: basic realm=\"Test Authentication
System\"");
Header( "HTTP/1.0 401 Unauthorized");
echo "K p��stupu na tento zdroj mus�te zadat platn� ID a heslo\n";
exit;
}
if(!isset($PHP_AUTH_USER) || ($SeenBefore == 1 && !strcmp($OldAuth,
$PHP_AUTH_USER)) ) {
authenticate();
}
else {
echo "Welcome: $PHP_AUTH_USER<BR>";
echo "Old: $OldAuth";
echo "<FORM ACTION=\"$PHP_SELF\" METHOD=POST>\n";
echo "<INPUT TYPE=HIDDEN NAME=\"SeenBefore\"
VALUE=\"1\">\n";
echo "<INPUT TYPE=HIDDEN NAME=\"OldAuth\"
VALUE=\"$PHP_AUTH_USER\">\n";
echo "<INPUT TYPE=Submit VALUE=\"Re
Authenticate\">\n";
echo "</FORM>\n";
}
?>
</programlisting>
</example>
<simpara>
Podle standardu HTTP Basic authentication se toto chov�n� nevy�aduje, tak�e
byste na to nikdy nem�li spol�hat. Pokusy s Lynxem uk�zaly, �e Lynx po p�ijet�
response k�du 401 nevypr�zdn� autentika�n� �daje, tak�e po stisknut� back a
forward se znovu uk�e po�adovan� zdroj (pokud se nezm�nily po�adavky na
�daje).
</simpara>
<simpara>
D�le si v�imn�te, �e tato vlastnost p�i pou�it� IIS serveru a CGI verze PHP
d�ky omezen�m IIS nefunguje.
</simpara>
</chapter>
<!-- 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
sgml-parent-document:nil
sgml-default-dtd-file:"../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
Index: phpdoc/cs/features/images.xml
+++ phpdoc/cs/features/images.xml
<chapter id="features.images">
<title>Tvorba a �pravy obr�zk�</title>
<simpara>
PHP nen� omezeno na tvorbu pouze HTML v�stupu. M��e tak� vytv��et a
upravovat obr�zkov� soubory r�zn�ch form�t�, v�etn� gif, png, jpg, wbmp a
xpm. PHP m��e dokonce p��mo pos�lat obrazov� proudy do browseru. Na to
budete pot�ebovat PHP zkompilovan� s GD knihovnou obrazov�ch funkc�. GD a
PHP mohou vy�adovat dal�� knihovny v z�vislosti na obrazov�ch form�tech,
se kter�mi chcete pracovat. GD p�estala podporovat gif obr�zky ve verzi 1.6.
</simpara>
<para>
<example>
<title>Tvorba PNG obr�zk� v PHP</title>
<programlisting role="php">
<?php
Header("Content-type: image/png");
$string=implode($argv," ");
$im = imageCreateFromPng("images/button1.png");
$orange = ImageColorAllocate($im, 220, 210, 60);
$px = (imagesx($im)-7.5*strlen($string))/2;
ImageString($im,3,$px,9,$string,$orange);
ImagePng($im);
ImageDestroy($im);
?>
</programlisting>
</example>
Tento p��klad by se volal ze str�nky pomoc� tagu podobn�ho tomuto:
<img src="button.php?text"> Skript button.php pak vezme
�et�zec "text", p�ekryje j�m z�kladn� obr�zek, co� je v tomto
p��pad� "images/button1.png" a zobraz� v�sledn� obr�zek. Toto
je vhodn� zp�sob jak se vyhnout kreslen� nov�ho obr�zku tla��tka poka�d�,
kdy� chcete zm�nit text tla��tka. Touto metodou se generuj� automaticky.
</para>
</chapter>
<!-- 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
sgml-parent-document:nil
sgml-default-dtd-file:"../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
Index: phpdoc/cs/features/persistent-connections.xml
+++ phpdoc/cs/features/persistent-connections.xml
<chapter id="features.persistent-connections">
<title>Persistentn� datab�zov� spojen�</title>
<simpara>
Trval� spojen� jsou SQL spojen�, kter� se nezav�raj� na konci pr�b�hu skriptu.
P�i po�adavku na trval� spojen� PHP nejd��ve zkontroluje, jestli u� neexistuje
identick� spojen� (kter� z�stalo otev�eno z d��v�j�ka) - a pokud existuje,
pou�ije ho. Pokud neexistuje, PHP ho otev�e. "Identick�" spojen� je spojen�,
kter� bylo otev�eno se stejn�m serverem, u�ivatelsk�m jm�nem a heslem (pokud
je zad�te).
</simpara>
<simpara>
Lid�, kte�� nejsou d�kladn� obezn�meni se zp�sobem, jak�m web servery funguj�
a distribuuj� z�t� mohou pokl�dat trval� spojen� za n�co ��m nejsou. Zvl�t�
<emphasis>neumo��uj�</emphasis> otv�r�n� "u�ivatelsk�ch sessions" na stejn�m
SQL spojen�, <emphasis>neumo��uj�</emphasis> efektivn� tvorbu transakc�, a
neumo��uj� spoustu dal��ch v�c�. Dokonce, aby bylo opravdu a d�kladn� jasno,
v�m trval� spojen� nedaj� <emphasis>��dnou</emphasis> funkcionalitu,
kter� by nebyla mo�n� s jejich netrval�mi prot�j�ky.
</simpara>
<simpara>
Pro�?
</simpara>
<simpara>
To je d�no zp�sobem, jak�m funguj� webov� servery. Jsou t�i zp�soby, jak�mi
v� web server m��e vyu��t PHP ke generov�n� webov�ch str�nek.
</simpara>
<simpara>
Prvn� metodou je pou��t PHP jako CGI "obal". V tomto re�imu se vytv���
a ni�� jedna instance PHP interpretru pro ka�d� po�adavek (na PHP strn�nku)
na va�em web serveru. Proto�e je zni�na po obslou�en� po�adavku, v�echny
zdroje, kter� z�sk� (jako t�eba spojen� s datab�zov�m serverem) jsou p�i
jej�m zni�en� zav�eny. V tomto p��pad� pokusem o pou�it� trval�ch spojen� nic
nez�sk�te - prost� nevydr��.
</simpara>
<simpara>
Druhou, a nejpopul�rn�j��, metodou, je provozovat PHP jako modul v
multiprocesn�m web serveru, co� je mno�ina, kter� v sou�asnosti obsahuje
pouze Apache. Multiprocesn� web serveru m� typicky jeden proces (rodi�e),
kter� ��d� skupinu proces� (sv�ch d�t�), kter� d�laj� vlastn� pr�ci -
serv�ruj� str�nky. Ka�d� po�adavek, kter� p�ijde od klienta, je obslou�en
jedn�m z d�t�, kter� pr�v� neobsluhuje jin�ho klienta. To znamen�, �e kdy�
stejn� klient vznese dal�� po�adavek na stejn� server, tento m��e b�t
obslou�en jin�m d�tsk�m procesem ne� ten prvn�. Trval� spojen� zaji��uj�, aby
se ka�d� d�tsk� proces musel na v� SQL server p�ihl�sit pouze p�i prvn�m
odesl�n� str�nky, kter� takov� spojen� vyu��v�. Kdy� spojen� s SQL serverem
vy�aduje dal�� str�nka, m��e pou��t spojen�, kter� toto d�t� otev�elo u�
d��ve.
</simpara>
<simpara>
Posledn� metodou je pou��t PHP jako plugin v multithreadov�m web serveru. To
je v sou�asnost� pouh� teorie - PHP je�t� nefunguje jako plagin v ��dn�m
multithreadov�m web serveru. Pracuje se na podpo�e ISAPI, WSAPI a NSAPI (na
Windows), co� umo�n� pou��vat PHP jako plugin v multithreadov�ch serverech
jako Netscape FastTrack, Microsoft Internet Information Server (IIS),
a O'Reilly's WebSite Pro. A� k tomu dojde, chov�n� bude v podstat� stejn�
jako u multiprocesn�m modelu popsan�m d��ve.
</simpara>
<simpara>
Pokud trval� spojen� neposkytuj� ��dnou p�idanou funkcionalitu, k �emu jsou
dobr�?
</simpara>
<simpara>
Odpov�� na tuto ot�zku je velmi jednoduch� - efektivita. Trval� spojen� jsou
dobr�, pokud m� tvorba spojen� s va��m SQL serverem vysokou re�ii. Re�ln�
v��e t�to re�ie z�le�� na mnoha faktorech. Nap��klad jak� je to typ datab�ze,
jestli s�dl� na stejn�m po��ta�i jako v� webserver, jak zat�en� je stroj,
na kter�m v� SQL server b�� a tak d�le. Pointa je, �e pokud je spojovac�
re�ie vysok�, trval� spojen� v�m znateln� pomohou. Umo�n� d�tsk�mu procesu
p�ipojit se pouze jednou za cel� jeho �ivotn� cyklus m�sto ka�d�ho zpracov�n�
str�nky, kter� vy�aduje spojen� s SQL serverem. To znamen�, �e ka�d� d�t�,
kter� otev�elo trval� spojen�, bude m�t otev�en� vlastn� trval� spojen� se
serverem. Pokud nap��klad m�te 20 d�tsk�ch proces�, kter� spustily skript,
kter� otev�el trval� spojen� s va��m SQL serverem, m�te 20 nez�visl�ch spojen�
s SQL serverem, po jednom z ka�d�ho d�t�te.
</simpara>
<simpara>
V�imn�te si nicm�n�, �e to m��e m�t nev�hody, pokud pou��vate datab�zi s
omezen�m po�tem p�ipojen�, kter� trval� spojen� d�t� p�ekro��. Pokud m� va�e
datab�ze limit 16 sou�asn�ch p�ipojen�, a v ru�n�m okam�iku se pokus� p�ipojit
17 d�tsk�ch proces�, jednomu se to nepoda��. Pokud m�te ve sv�ch skriptech
chyby, kter� br�n� zav�r�n� spojen� (nap�. nekone�n� smy�ky), datab�ze s
pouh�mi 32 spojen�mi bude brzy zaplavena. Vyhledejte si v dokumentaci va��
datab�ze informace o obsluze opu�t�n�ch nebo ne�inn�ch spojen�.
</simpara>
<simpara>
D�le�it� souhrn. Trval� spojen� byla navr�ena tak, aby odpov�dala jedna k
jedn� norm�ln�m spojen�m. To znamen�, �e byste <emphasis>v�dy</emphasis> m�li
b�t schopni nahradit trval� spojen� netrval�mi beze zm�ny fungov�n� va�eho
skriptu. <emphasis>M��e</emphasis> to (a pravd�podobn� bude) m�t vliv na
efektivitu tohoto skriptu, ale ne jeho chov�n�!
</simpara>
</chapter>
<!-- 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
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
Index: phpdoc/cs/features/remote-files.xml
+++ phpdoc/cs/features/remote-files.xml
<chapter id="features.remote-files">
<title>Pou�it� vzd�len�ch soubor�</title>
<para>
Pokud p�i konfiguraci PHP aktivujete podporu "URL fopen wrapper"
(standardn� je zapnut�, leda�e pro configure explicitn� zad�te
<option>--disable-url-fopen-wrapper</option> p��znak (verze do 4.0.3),
nebo (u nov�j��ch verz�) nastav�te <parameter>allow_url_fopen</parameter> v
php.ini na off), m��ete ve vol�n�ch v�t�iny funkc�, kter� o�ek�vaj�
jako argument n�zev souboru (v�etn� <function>require</function> a
<function>include</function>) uv�st HTTP nebo FTP URL.
</para>
<para>
<note>
<para>
Na Windows nelze pou��vat vzd�len� soubory v
<function>include</function> a <function>require</function> v�razech.
</para>
</note>
</para>
<para>
M��ete nap��klad otev��t soubor na vzd�len�m web serveru, vyseparovat z
v�stupu data, kter� pot�ebujete, a tato data potom pou��t v dotazu na
datab�zi, nebo je prost� za�lenit do v�stupu stylem odpov�daj�c�m zbytku
va�� web site.
</para>
<para>
<example>
<title>Z�sk�n� n�zvu vzd�len� str�nky</title>
<programlisting role="php">
<![CDATA[
<?php
$file = fopen ("http://www.php.net/", "r");
if (!$file) {
echo "<p>Nelze otev��t vzd�len� soubor.\n";
exit;
}
while (!feof ($file)) {
$line = fgets ($file, 1024);
/* Toto bude fungovat pouze pokud jsou tagy a n�zev na jedn� ��dce */
if (eregi ("<title>(.*)</title>", $line, $out)) {
$title = $out[1];
break;
}
}
fclose($file);
?>
]]>
</programlisting>
</example>
</para>
<para>
Pokud se p�ipoj�te jako u�ivatel s dostate�n�mi pr�vy, a dan� soubor u�
neexistuje, m��ete data tak� ukl�dat po FTP. Pokud se chcete p�ipojit jako
jin� u�ivatel ne� 'anonymous', mus�te v URL udat u�ivatelsk� jm�no (a
pravd�podobn� i heslo), nap�.
'ftp://uzivatel:[EMAIL PROTECTED]/path/to/file'. (Pro p��stup k soubor�m
p�es HTTP, kter� vy�aduj� Basic authentication, m��ete pou��t stejnou
syntaxi.)
</para>
<para>
<example>
<title>Ulo�en� dat na vzd�len�m serveru</title>
<programlisting role="php">
<![CDATA[
<?php
$file = fopen ("ftp://ftp.php.net/incoming/outputfile", "w");
if (!$file) {
echo "<p>Nelze otev��t vzd�len� soubor pro z�pis.\n";
exit;
}
/* Zap�eme data. */
fputs ($file, "$HTTP_USER_AGENT\n");
fclose ($file);
?>
]]>
</programlisting>
</example>
</para>
<para>
<note>
<para>
Z v��e uveden�ho p��kladu by v�s mohlo napadnout vyu��t tuto techniku k
z�pisu do vzd�len�ho logu, ale jak u� bylo zm�n�no v��e, pomoc� URL fopen()
wrapperu m��ete zapisovat pouze do nov�ho souboru. Pokud m�te z�jem o
distribuovan� logov�n�, pod�vejte se na <function>syslog</function>.
</para>
</note>
</para>
</chapter>
<!-- 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
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->