В PHP включена поддержка libcurl - библиотеки функций, написанной
Daniel Stenberg, которая позволяет взаимодействовать с различными
серверами по различным протоколам. В настоящее время libcurl
поддерживает протоколы http, https, ftp, gopher, telnet, dict, file,
и ldap. libcurl также умеет работать с сертификатами HTTPS, посылать
запросы к HTTP серверам методами POST и PUT, закачивать файлы по
протоколам HTTP и FTP (последнее можно сделать также используя модуль FTP), использовать прокси-серверы,
cookies и аутентификацию пользователей.
Для использования функций CURL необходимо установить пакет CURL. Необходимо мспользовать версию CURL
7.0.2-beta или старше, с более младшими версиями PHP не работает. Для
PHP 4.2.3 необходимо использовать версию CURL 7.9.0 или старше.
Начиная PHP 4.3.0, необходима CURL 7.9.8 или старше. Вероятнее
всего, PHP 5.0.0 будет требовать CURL не младше 7.10.5.
Для использования CURL необходимо также собрать PHP с опцией --with-curl[=DIR], где DIR - имя директории,
содержащей поддиректории lib и include. Директория "include" должна
содержать поддиректорию "curl" с файлами easy.h и
curl.h. Директория "lib" должна
содержать файл libcurl.a. Начиная с PHP 4.3.0 с
помощью опции --with-curlwrappers
можно сконфигурировать PHP для использования CURL при работе с
удаленными файлами.
Замечание для пользователей Win32:
Для работы с этим модулем в Windows необходимо скопировать файлы
libeay32.dll и ssleay32.dll
из директории DLL Win32 дистрибутива PHP в директорию SYSTEM
(Нпример C:\WINNT\SYSTEM32
или C:\WINDOWS\SYSTEM)
Перечисленные ниже константы определены данным расширением и могут быть
доступны только в том случае, если PHP был собран с
поддержкой этого расширения или же в том случае, если
данное расширение подгружается во время выполнения.
После сборки PHP с поддержкой CURL можно использовать функции CURL
functions. Работа с CURL всегда начинается с вызова
curl_init(), затем устанавливаются необходимые
параметры с помощью curl_setopt(), и выполняется
требуемая операция вызовом curl_exec(), после чего
вызовом curl_close() сеанс работы завершается.
Приведенный ниже пример использует функции CURL для сохранения
стартовой страницы сайта example.com в файл:
Пример 1. Использования модуля CURL для сохранения стартовой страницы example.com