PHP поддерживает libcurl, библиотеку, созданную Daniel'ом Stenberg'ом,
которая даёт возможность соединяться с серверами различных типов и по разным протоколам.
libcurl в настоящее время поддерживает протоколы http, https, ftp, gopher, telnet, dict, file
и ldap.
libcurl также поддерживает сертификаты HTTPS, HTTP
POST, HTTP PUT, загрузку по FTP (это можно сделать также РНР-расширением
ftp), загрузку на основе форм HTTP, прокси, куки и аутентификацию user+password.
Эти функции были введены в PHP 4.0.2.
Чтобы использовать функции CURL, вам нужно установить пакет CURL. PHP требует, чтобы вы использовали CURL 7.0.2-beta или выше. PHP не будет работать с любой версией CURL ниже 7.0.2-beta.
Для использования РНР-поддержки CURL вы обязаны также скомпилировать PHP --with-curl[=DIR], где DIR это местоположение директории, содержащей директории lib и include. В "include"-директории должна быть папка "curl", которая должна содержать файлы easy.h и curl.h files. Файл "libcurl.a" должен находиться в директории "lib".
Эти константы определены данным расширением и будут доступны только в том случае, если либо вкомпилированы в РНР, либо динамически загружены на этапе прогона.
После того как вы скомпилировали PHP с поддержкой CURL, вы можете начать использовать curl-функций. Основная идея функций CURL - вы инициализируете CURL-сессию с использованием curl_init(), затем можно установить все ваши опции для трансфера через использование curl_exec(), а затем закрыть сессию функцией curl_close(). Вот пример использования CURL-функций для получения страницы example.com в файле: