XVIII. 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.
These functions have been added in PHP 4.0.2.
需求
In order to use PHP's cURL functions you need to install the » libcurl package. PHP requires that you use libcurl 7.0.2-beta or higher. In PHP 4.2.3, you will need libcurl version 7.9.0 or higher. From PHP 4.3.0, you will need a libcurl version that's 7.9.8 or higher. PHP 5.0.0 requires a libcurl version 7.10.5 or greater.
安装
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. Beginning with PHP 4.3.0 you can configure PHP to use cURL for URL streams --with-curlwrappers.
Note to Win32 Users: In order to enable this module on a Windows environment, libeay32.dll and ssleay32.dll must be present in your PATH.
You don't need libcurl.dll from the cURL site.
资源类型
This extension defines two resource types: a cURL handle and a cURL multi handle.
预定义常量
See also the cURL Predefined Constants
范例
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_setopt(), then you can execute the session with 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 example.com homepage into a file:
例396.Using PHP's cURL module to fetch the example.com homepage
<?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);
?>
目录
- Constants Curl Predefined Constants
- curl_close Close a cURL session
- curl_copy_handle Copy a cURL handle along with all of its preferences
- curl_errno Return the last error number
- curl_error Return a string containing the last error for the current session
- curl_exec Perform a cURL session
- curl_getinfo Get information regarding a specific transfer
- curl_init Initialize a cURL session
- curl_multi_add_handle Add a normal cURL handle to a cURL multi handle
- curl_multi_close Close a set of cURL handles
- curl_multi_exec Run the sub-connections of the current cURL handle
- curl_multi_getcontent Return the content of a cURL handle if CURLOPT_RETURNTRANSFER is set
- curl_multi_info_read Get information about the current transfers
- curl_multi_init Returns a new cURL multi handle
- curl_multi_remove_handle Remove a multi handle from a set of cURL handles
- curl_multi_select Get all the sockets associated with the cURL extension, which can then be "selected"
- curl_setopt_array Set multiple options for a cURL transfer
- curl_setopt Set an option for a cURL transfer
- curl_version Gets cURL version information
add a note
User Contributed NotesCURL, Client URL Library Functions

ctype_xdigit