<?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.8 $ --> <reference id="ref.curl"> <title>CURL, Client URL Library Functions</title> <titleabbrev>CURL</titleabbrev> <partintro> <section id="curl.intro"> &reftitle.intro; <para> PHP supports libcurl, a library created by Daniel Stenberg, that allows you to connect and communicate to many different types of servers with many different types of protocols. libcurl currently supports the http, https, ftp, gopher, telnet, dict, file, and ldap protocols. libcurl also supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading (this can also be done with PHP's ftp extension), HTTP form based upload, proxies, cookies, and user+password authentication. </para> <para> These functions have been added in PHP 4.0.2. </para> </section> <section id="curl.requirements"> &reftitle.required; <para> In order to use the CURL functions you need to install the <ulink url="&url.curl;">CURL</ulink> package. PHP requires that you use CURL 7.0.2-beta or higher. PHP will not work with any version of CURL below version 7.0.2-beta. From PHP version 4.2.3 you will atleast need CURL version 7.9.0 or higher. </para> </section> &reference.curl.configure; &reference.curl.constants; <section id="curl.examples"> &reftitle.examples; <para> Once you've compiled PHP with CURL support, you can begin using the CURL functions. The basic idea behind the CURL functions is that you initialize a CURL session using the <function>curl_init</function>, then you can set all your options for the transfer via the <function>curl_setopt</function>, then you can execute the session with the <function>curl_exec</function> and then you finish off your session using the <function>curl_close</function>. Here is an example that uses the CURL functions to fetch the example.com homepage into a file: <example> <title>Using PHP's CURL module to fetch the example.com homepage</title> <programlisting role="php"> <![CDATA[ <?php $ch = curl_init ("http://www.example.com/"); $fp = fopen ("example_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> </section> </partintro> &reference.curl.functions; </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: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 -->