PHP soporta libcurl, una librer铆a creada por Danile Stenberg, que permite la conexi贸n y comunicaci贸n con varios tipos de servidores diferentes y con muchos tipos de protocolos diferentes. Actualmente, libcurl soporta los portocolos http, https, ftp, gopher, telnet, dict, file y ldap. Adem谩s libcurl tambi茅n soporta certificados HTTPS, m茅todos HTTP POST y HTTP PUT, env铆o por FTP (que tambi茅n puede realizarse con la extensi贸n ftp de PHP), env铆o mediante HTTP de archivos en formularios HTML, servidores proxy, cookies y autenticaci贸n usuario+contrase帽a.
Estas funciones fueron agregadas en la versi贸n 4.0.2.
Para poder usar las funciones CURL deber谩 instalar el paquete CURL. PHP requiere que use CURL 7.0.2-beta o superior. Desde la versi贸n 4.2.3 de PHP se necesita, al menos, CURL 7.9.0 o superior. A partir de la versi贸n 4.3.0, se necesita una versi贸n de CURL 7.9.8 o superior. A partir de la versi贸n PHP 5.0.0, la versi贸n de CURL necesaria debe ser superior a 7.10.5.
Para poder usar estas funciones, se debe compilar PHP a帽adiendo el par谩metro --with-curl[=DIR], donde DIR apunta al directorio que contiene los directorios lib y include de la librer铆a. En el directorio include, debe existir una carpeta llamada "curl" y que contiene los archivos easy.h y curl.h. Adem谩s, debe existir un archivo llamado libcurl.a en el directorio "lib". A partir de la versi贸n de PHP 4.3.0 se puede configurar que PHP haga uso de CURL para el manejo de las conexiones con URLs, mediante la opci贸n --with-curlwrappers.
Nota para los usuarios de plataformas Windows: Para activar este m贸dulo en entornos Windows, se deben copiar los archivos libeay32.dll y ssleay32.dll que se encuentran en la carpeta DLL del directorio PHP/Win32 a la carpeta SYSTEM de Windows, que normalmente se encuentra en C:\WINNT\SYSTEM32 o C:\WINDOWS\SYSTEM.
Estas constantes est谩n definidas por esta extensi贸n y estar谩n disponibles solamente cuando la extensi贸n ha sido o bien compilada dentro de PHP o grabada din谩micamente en tiempo de ejecuci贸n.
Disponible desde PHP 5.1.0
Disponible desde PHP 5.1.0
Disponible desde PHP 5.1.0
Disponible desde PHP 5.1.0
Una vez que se ha compilado PHP con soporte para CURL, se pueden utilizar las funciones CURL. La idea b谩sica tras las funciones CURL es que se inicializa una sesi贸n CURL usando la funci贸n curl_init(), luego se establecen las opciones para la transferencia a trav茅s de la funci贸n curl_setopt(), y finalmente se ejecuta la sesi贸n con la funci贸n curl_exec() para luego cerrarla con curl_close(). Aqui hay un ejemplo que usa funciones CURL para traer el contenido de la p谩gina de inicio de www.example.com y guardarlo en un archivo: