XII. CURL, Client URL Library Functions
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.
In order to use the CURL functions you need to install the CURL 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.
To use PHP's CURL support you must also compile PHP --with-curl[=DIR] where DIR
is the location of the directory containing the lib and include directories. In the "include"
directory there should be a folder named "curl" which should contain the easy.h and curl.h files.
There should be a file named "libcurl.a" located in the "lib" directory.
These functions have been added in PHP 4.0.2.
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 curl_init(), then you can set all your options for the
transfer via the curl_exec() and then you finish off
your session using the curl_close(). Here is an
example that uses the CURL functions to fetch the PHP homepage into a file:
|
Example 1. Using PHP's CURL module to fetch the PHP homepage
<?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);
?>
|
|
- Table of Contents
- curl_init -- Initialize a CURL session
- curl_setopt -- Set an option for a CURL
transfer
- curl_exec -- Perform a CURL session
- curl_close -- Close a CURL session
- curl_version -- Return the current CURL
version
- curl_errno -- Return an integer containing the
last error number
- curl_error -- Return a string contain the
last error for the current session
- curl_getinfo -- Get information regarding a
specific transfer
|