cynic Mon Feb 5 04:41:51 2001 EDT Added files: /phpdoc/cs/functions curl.xml Log: should be completely translated
Index: phpdoc/cs/functions/curl.xml +++ phpdoc/cs/functions/curl.xml <reference id="ref.curl"> <title>Funkce pro práci s CURL, Client URL Library </title> <titleabbrev>CURL</titleabbrev> <partintro id="curl.partintro"> <para> PHP podporuje libcurl, knihovnu vytvořenou Danielem Stenbergem, která umožňuje spojení a komunikaci s mnoha různými typy serverů v mnoha různých typech protokolů. libcurl v současné době podporuje http, https, ftp, gopher, telnet, dict, file a ldap protokoly. libcurl také podporuje HTTPS certifikáty, HTTP POST, HTTP PUT, FTP uploady (toto umožňuje i ftp extenze PHP), HTTP formulářové uploady, proxy, cookies a user+password autentikaci. </para> <para> Pokud chcete používat CURL funkce, musíte nainstalovat <ulink url="&url.curl;">CURL</ulink>. PHP vyžaduje použití CURL 7.0.2-beta nebo vyšší. S verzemi CURL staršími než 7.0.2-beta PHP nebude pracovat. </para> <para> Dále musíte PHP zkompilovat s <option role="configure">--with-curl[=DIR]</option>, kde DIR je umístění adresáře obsahujícího lib a include adresáře. V "include" adresáři by měl být adresář pojmenovaný "curl", který by měl obsahovat soubory easy.h and curl.h. V adresáři "lib" by měl být soubor pojmenovaný "libcurl.a". </para> <para> Tyto funkce byly přidány v PHP 4.0.2. </para> <para> Pokud máte PHP zkompilované s podporou CURL, můžete začít používat CURL funkce. Základní principem těchto funkcí je, že pomocí <function>curl_init</function> inicializujete CURL session, potom pomocí <function>curl_exec</function> nastavíte hodnoty přenosu a nakonec session zavřete pomocí <function>curl_close</function>. Následuje ukázka, která využíva CURL funkce ke stažení homepage PHP do souboru: <example> <title>Použití CURL extenze ke stažení homepage PHP</title> <programlisting role="php"> <?php $ch = curl_init ("http://www.php.net/"); $fp = fopen ("php_homepage.txt", "w"); curl_setopt ($ch, CURLOPT_FILE, $fp); curl_setopt ($ch, CURLOPT_HEADER, 0); curl_exec ($ch); curl_close ($ch); fclose ($fp); ?> </programlisting> </example> </para> </partintro> <refentry id="function.curl-init"> <refnamediv> <refname>curl_init</refname> <refpurpose>Inicializovat CURL session</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>int <function>curl_init</function></funcdef> <paramdef>string <parameter><optional>url</optional></parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>curl_init</function> inicializuje novou session a vrací CURL handle pro použití s funkcemi <function>curl_setopt</function>, <function>curl_exec</function> a <function>curl_close</function>. Pokud je přítomen volitelný argument <parameter>url</parameter>, CURLOPT_URL se nastaví na hodnotu tohoto argumentu. Můžete to udělat i ručně, pomocí funkce <function>curl_setopt</function>. <example> <title> Inicializace nové CURL session a stažení webové stránky </title> <programlisting role="php"> <?php $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, "http://www.zend.com/"); curl_setopt ($ch, CURLOPT_HEADER, 0); curl_exec ($ch); curl_close ($ch); ?> </programlisting> </example> </para> <para> Viz také: <function>curl_close</function>, <function>curl_setopt</function> </para> </refsect1> </refentry> <refentry id="function.curl-setopt"> <refnamediv> <refname>curl_setopt</refname> <refpurpose>Nastavit parametr CURL transferu</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>curl_setopt</function></funcdef> <paramdef>int <parameter>ch</parameter></paramdef> <paramdef>string <parameter>option</parameter></paramdef> <paramdef>mixed <parameter>value</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>curl_setopt</function> nastavuje parametry CURL session <parameter>ch</parameter>. <parameter>option</parameter> je parametr, který chcete nastavit a <parameter>value</parameter> je hodnota, na kterou se má <parameter>option</parameter> nastavit. </para> <para> Argument <parameter>value</parameter> by měl u následujících hodnot argumentu <parameter>option</parameter> obsahovat integer: <itemizedlist> <listitem> <simpara> <parameter>CURLOPT_INFILESIZE</parameter>: Tento parametr by měl u uploadů obsahovat velikost uploadovaného souboru. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_VERBOSE</parameter>: Pokud chcete, aby CURL podávala zprávy o všem co se děje, nastavte tento parametr na nenulovou hodnotu. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_HEADER</parameter>: Pokud chcete, aby výstup obsahoval hlavičky, nastavte tento parametr na nenulovou hodnotu. </simpara> </listitem> <listitem> <para> <parameter>CURLOPT_NOPROGRESS</parameter>: Pokud PHP nemá zobrazit měřidlo postupu CURL transferu, nastavte tento parametr na nenulovou hodnotu. <note> <simpara> PHP tento parametr automaticky nastavuje na nenulovou hodnotu, změna je vhodná pouze pro účely ladění. </simpara> </note> </para> </listitem> <listitem> <simpara> <parameter>CURLOPT_NOBODY</parameter>: Pokud nechete, aby bylo ve výstupu zahrnuto tělo výstupu, nastavte tento parametr na nenulovou hodnotu. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_FAILONERROR</parameter>: Pokud má PHP tiše ukončit transfer po přijetí HTTP server kódu většího než 300, nastavte tento parametr na nenulovou hodnotu. Defaultní chování je ignorovat návratový kód a normálně vrátit stránku. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_UPLOAD</parameter>: Pokud chcete PHP připravit na upload, nastavte tento parametr na nenulovou hodnotu. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_POST</parameter>: Pokud chcete, aby PHP provedl běžný HTTP POST pořadavek, nastavte tento parametr na nenulovou hodnotu. Jedná se o běžný application/x-www-from-urlencoded POST požadavek, který se většinou používá u HTML formulářů. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_FTPLISTONLY</parameter>: Pokud chcete, aby PHP vypsalo názvy souborů v FTP adresáři, nastavte tento parametr na nenulovou hodnotu. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_FTPAPPEND</parameter>: Pokud chcete, aby PHP místo přepsání vzdáleného souboru připojilo upload k jeho obsahu, nastavte tento parametr na nenulovou hodnotu. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_NETRC</parameter>: Pokud má PHP ve vašem ~./netrc souboru hledat vaše uživatelské jméno a heslo pro server ke kterému se připojujete. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_FOLLOWLOCATION</parameter>: Pokud má PHP provádět přesměrování u případných "Location: " hlaviček vrácených serverem. (Pozn.: rekurzivní, PHP provede přesměrování pro všechny "Location: " hlavičky, které přijme.) </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_PUT</parameter>: Pokud chcete uploadovat soubor pomocí HTTP metody PUT, nastavte tento parametr na nenulovou hodnotu. Uploadovaný soubor musí být určen parametry CURLOPT_INFILE a CURLOPT_INFILESIZE. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_MUTE</parameter>: Pokud má být PHP naprosto tiché ohledně CURL funkcí, nastavte tento parametr na nenulovou hodnotu. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_TIMEOUT</parameter>: Integer určující maximální čas ve vteřinách, který mohou CURL funkce zabrat. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_LOW_SPEED_LIMIT</parameter>: Integer určující minimální rychlost přenosu v bytech za sekundu. Pokud rychlost přenosu klesne pod tento limit po dobu CURLOPT_LOW_SPEED_TIME sekund, PHP ukončí transfer. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_LOW_SPEED_TIME</parameter>: Integer určující čas ve vteřinách. Pokud rychlost přenosu klesne na tuto dobu pod CURLOPT_LOW_SPEED_LIMIT, PHP zruší transfer. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_RESUME_FROM</parameter>: Integer určující offset v bytech, na kterém má transfer začít. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_SSLVERSION</parameter>: Integer určující, jaká verze SSL (2 nebo 3) se má použít. Defaultně se PHP pokusí určit verzi samo, ale v některých případech je nutno verzi určit manuálně. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_TIMECONDITION</parameter>: Definující chování CURLOPT_TIMEVALUE. Tento parametr může nabýt buď hodnoty TIMECOND_IFMODSINCE nebo TIMECOND_ISUNMODSINCE. Funguje pouze u HTTP přenosů. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_TIMEVALUE</parameter>: Integer určující počet vteřin od 1. ledna 1970. Tento čas se použije podle intervalu CURLOPT_TIMEVALUE, default je použití TIMECOND_IFMODSINCE. </simpara> </listitem> </itemizedlist> </para> <para> Argument <parameter>value</parameter> by měl u následujících hodnot argumentu <parameter>option</parameter> obsahovat řetězec: <itemizedlist> <listitem> <simpara> <parameter>CURLOPT_URL</parameter>: Toto je URL, kterou má PHP stáhnout. Tento parametr můžete také nastavit při inicializaci CURL session pomocí funkce <function>curl_init</function>. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_USERPWD</parameter>: Řetězec ve tvaru [username]:[password] pro použití při spojení. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_PROXYUSERPWD</parameter>: Řetězec ve tvaru [username]:[password] pro použití při spojení s HTTP proxy. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_RANGE</parameter>: Pass the specified range you want. It should be in the "X-Y" format, where X or Y may be left out. The HTTP transfers also support several intervals, seperated with commas as in X-Y,N-M. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_POSTFIELDS</parameter>: Řetězec obsahující kompletní data, která se mají odeslat v HTTP POST požadavku. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_REFERER</parameter>: Řetězec obsahující "referer" hlavičku pro použití v HTTP požadavku. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_USERAGENT</parameter>: Řetězec obsahující "user-agent" hlavičku pro použití v HTTP požadavku. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_FTPPORT</parameter>: Řetězec, na jehož základě se získá IP adresa pro FTP "POST" instrukci. POST instrukce říká serveru, aby se připojil na danou IP adresu. Tento řetězec může obsahovat IP adresu, hostname, a network interface name (under UNIX) nebo '-' (použije se defaultní IP adresa systému). </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_COOKIE</parameter>: Řetězec obsahující cookie, který se má poslat v HTTP hlavičce tohoto přenosu. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_SSLCERT</parameter>: Řetězec obsahující název souboru PEM certifikátu. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_SSLCERTPASSWD</parameter>: Řetězec obsahující heslo vyžadované pro použití CURLOPT_SSLCERT certifikátu. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_COOKIEFILE</parameter>: Řetězec obsahující název souboru obsahujícího cookie data. Cookie soubor může být buď v Netscape formátu nebo obsahovat HTTP hlavičky. </simpara> </listitem> <listitem> <para> <parameter>CURLOPT_CUSTOMREQUEST</parameter>: Řetězec, který se má v HTTP požadavku použít místo GET nebo HEAD. Toto je užitečné při DELETE či jiných, obskurnějších HTTP požadavcích. <note> <simpara> Používejte pouze v případě, že váš server tento příkaz podporuje. </simpara> </note> </para> </listitem> </itemizedlist> </para> <para> Následující parametry očekávají deskriptor vrácený funkcí <function>fopen</function>: <itemizedlist> <listitem> <simpara> <parameter>CURLOPT_FILE</parameter>: Soubor, do kterého se má umístit výstup CURL transferu. Default je STDOUT. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_INFILE</parameter>: Soubor, který obsahuje vstup CURL transferu. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_WRITEHEADER</parameter>: Soubor, do kterého se mají zapsat hlavičky výstupu. </simpara> </listitem> <listitem> <simpara> <parameter>CURLOPT_STDERR</parameter>: Soubor, do kterého se mají zapisovat chyby místo na STDERR. </simpara> </listitem> </itemizedlist> </para> </refsect1> </refentry> <refentry id="function.curl-exec"> <refnamediv> <refname>curl_exec</refname> <refpurpose>Provést CURL session</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>curl_exec</function></funcdef> <paramdef>int <parameter>ch</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Tuto funkci byste měli zavolat po inicializaci CURL session a nastavení všech jejích parametrů. Jejím účelem je provést předdefinovanou CURL session (určenou argumentem <parameter>ch</parameter>). </para> </refsect1> </refentry> <refentry id="function.curl-close"> <refnamediv> <refname>curl_close</refname> <refpurpose>Zavřít CURL session</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>void <function>curl_close</function> </funcdef> <paramdef>int <parameter>ch</parameter> </paramdef> </funcprototype> </funcsynopsis> <para> Tato funkce zavře CURL session a uvolní všechny zdroje. CURL handle, <parameter>ch</parameter>, se také smaže. </para> </refsect1> </refentry> <refentry id="function.curl-version"> <refnamediv> <refname>curl_version</refname> <refpurpose>Vrátit verzi CURL</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>string <function>curl_version</function> </funcdef> <void/> </funcprototype> </funcsynopsis> <para> <function>curl_version</function> vrací řetězec obsahující použitou verzi CURL. </para> </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 sgml-parent-document:nil sgml-default-dtd-file:"../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: -->