PHP は、Daniel Stenbergにより開発されたライブラリlibcurl をサポー トします。このライブラリにより、多くの異なったプロトコルで様々なサー バーと接続し、通信することが可能になります。libcurl は現在 http, https, ftp, gopher, telnet, dict, file, ldap プロトコルをサ ポートしてします。libcurl は HTTPS 認証、HTTP POST、HTTP PUT、FTP アップロード(これはPHPのftp拡張機能でも実行可能です)、HTTPフォーム によるアップロード、プロキシ、クッキー、ユーザ名+パスワードによる 認証もサポートします。
これらの関数は、PHP 4.0.2で追加されました。
CURL関数を使用するためには、CURL パッケージをインストールしておく必要があります。PHPは、 CURL 7.0.2-beta 以降を必要とします。7.0.2-beta以前のバージョンで は動作しません。PHP バージョン4.2.3以降、少なくともCURLバージョン 7.9.0以降が必要となっています。 PHP 4.3.0以降では、7.9.8以降が必要です。 PHP 5.0.0では、おそらく、CURL 7.10.5以降が必要となります。
PHPのCURLサポート機能を使用するには、--with-curl[=DIR] を付けてPHPをコンパイル しておく必要があります。ただし、DIRは、ディレクトリlibおよび includeを有するディレクトリの場所となります。 ディレクトリ"include"には、"curl"という名前のフォルダーがある必要 があり、そのフォルダには、ファイルeasy.h およびcurl.hがある必要があ ります。libcurl.aという名前のファイルがディレクトリ"lib" にある必要があります。PHP 4.3.0以降、URLストリームでCURLを使用するようPHPを 設定するために--with-curlwrappers を指定できます。
Win32ユーザへの注意: このモジュールをWindows環境で使用可能とするには、PHP/Win32バイナリ パッケージのDLLフォルダにあるlibeay32.dll およびssleay32.dll を使用するWindowsマシンのSYSTEM フォルダ(例: C:\WINNT\SYSTEM32 または C:\WINDOWS\SYSTEMにコピー する必要があります。
これらの定数は、この拡張モジュールで定義されており、 この拡張モジュールがPHP内部にコンパイルされているか実行時に動的にロー ドされるかのどちらかの場合のみ使用可能です。
Available since PHP 5.1.0
Available since PHP 5.1.0
Available since PHP 5.1.0
Available since PHP 5.1.0
PHPをCURLサポート機能付きでコンパイルした場合、curl関数を使用可能 となります。CURL関数の基本的な使用法は、 curl_init()によりCURLセッションを初期化、 curl_setopt()により転送時のオプションを設定、 続いてcurl_exec()により転送を実行し、 curl_close()によりセッションを終了するというも のになります。CURL関数を使用してPHPホームページをファイルに取得す る例を示します。