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">
&lt;?php
  if(!isset($PHP_AUTH_USER)) {
    Header(&quot;WWW-Authenticate: Basic realm=\&quot;My Realm\&quot;&quot;);
    Header(&quot;HTTP/1.0 401 Unauthorized&quot;);
    echo &quot;Text, kter� se ode�le, pokud u�ivatel zm��kne tla��tko Cancel\n&quot;;
    exit;
  } else {
    echo &quot;Ahoj $PHP_AUTH_USER.&lt;P&gt;&quot;;
    echo &quot;Jako heslo jsi zadal $PHP_AUTH_PW.&lt;P&gt;&quot;;
  }
?>
    </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">
&lt;?php
  function  authenticate()  {
      Header( &quot;WWW-authenticate: basic  realm=\&quot;Test  Authentication  
System\&quot;&quot;);
      Header( &quot;HTTP/1.0  401  Unauthorized&quot;);
      echo  &quot;K p��stupu na tento zdroj mus�te zadat platn� ID a heslo\n&quot;;
      exit;
  }

  if(!isset($PHP_AUTH_USER)  ||  ($SeenBefore ==  1  &amp;&amp;  !strcmp($OldAuth,  
$PHP_AUTH_USER))  )  {
    authenticate();
  }
  else  {
    echo  &quot;Welcome:  $PHP_AUTH_USER&lt;BR&gt;&quot;;
    echo  &quot;Old:  $OldAuth&quot;;
    echo  &quot;&lt;FORM  ACTION=\&quot;$PHP_SELF\&quot;  METHOD=POST&gt;\n&quot;;
    echo  &quot;&lt;INPUT  TYPE=HIDDEN  NAME=\&quot;SeenBefore\&quot;  
VALUE=\&quot;1\&quot;&gt;\n&quot;;
    echo  &quot;&lt;INPUT  TYPE=HIDDEN  NAME=\&quot;OldAuth\&quot;  
VALUE=\&quot;$PHP_AUTH_USER\&quot;&gt;\n&quot;;
    echo  &quot;&lt;INPUT  TYPE=Submit  VALUE=\&quot;Re  
Authenticate\&quot;&gt;\n&quot;;
    echo  &quot;&lt;/FORM&gt;\n&quot;;

}
?>
   </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">
&lt;?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:
   &lt;img src=&quot;button.php?text&quot;&gt; Skript button.php pak vezme
   �et�zec &quot;text&quot;,  p�ekryje j�m z�kladn� obr�zek, co� je v tomto
   p��pad� &quot;images/button1.png&quot; 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 &quot;URL fopen wrapper&quot;
  (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:
-->

Reply via email to