(PHP 4 >= 4.0.2、PHP 5)
curl_setopt — cURL トランスポート オプションを設定します。
boolcurl_setopt ( resource $ch 、 int $option 、mixed $value )
指定された cURL セッション ハンドルのオプションを設定します。
チャンネル
curl_init() によって返される cURL ハンドル。
オプション
CURLOPT_XXX オプションを設定する必要があります。
価値
オプションに設定される値。
次のオプションのオプションのパラメーターの場合、値は bool 型の値に設定する必要があります。
オプション | オプションの値 | 述べる |
---|---|---|
CURLOPT_AUTOREFERER | Location:に基づいてリダイレクトする場合、ヘッダーのReferer:情報が自動的に設定されます。 | |
CURLOPT_BINARYTRANSFER | CURLOPT_RETURNTRANSFERが有効な場合、生の出力を返します。 | |
CURLOPT_COOKIESESSION | 有効にすると、curl は 1 つのセッション Cookie のみを渡し、他の Cookie を無視します。デフォルトでは、curl はすべての Cookie をサーバーに返します。セッション Cookie は、サーバー側のセッションが有効かどうかを判断するために使用される Cookie を指します。 | |
CURLOPT_CRLF | 有効にすると、Unix の改行が復帰と改行に変換されます。 | |
CURLOPT_DNS_USE_GLOBAL_CACHE | 有効にすると、グローバル DNS キャッシュが有効になり、スレッドセーフとなり、デフォルトで有効になります。 | |
CURLOPT_FAILONERROR | HTTP ステータス コードを表示します。デフォルトの動作では、400 以下の HTTP メッセージが無視されます。 | |
CURLOPT_FILETIME | 有効にすると、リモート ドキュメント内の情報の変更が試行されます。結果情報は、curl_getinfo() 関数のCURLINFO_FILETIMEオプションを通じて返されます。 curl_getinfo()。 | |
CURLOPT_FOLLOWLOCATION | 有効にすると、サーバーから返される「Location:」がヘッダーに配置され、 CURLOPT_MAXREDIRS を使用して再帰的戻りの数を制限します。 | |
CURLOPT_FORBID_REUSE | インタラクションの完了後、接続は強制的に切断され、再利用することはできません。 | |
CURLOPT_FRESH_CONNECT | 新しい接続を強制的に取得し、キャッシュ内の接続を置き換えます。 | |
CURLOPT_FTP_USE_EPRT | 有効にすると、FTP ダウンロード時に EPRT (または LPRT) コマンドを使用します。 FALSEに設定すると EPRT と LPRT が無効になり、PORT コマンドのみを使用します。 | |
CURLOPT_FTP_USE_EPSV | 有効にすると、FTP 転送中に PASV モードに戻る前に、まず EPSV コマンドが試行されます。 FALSEに設定すると、EPSV コマンドが無効になります。 | |
CURLOPT_FTPAPPEND | 有効にすると、追加はファイルを上書きするのではなく、ファイルに書き込みます。 | |
CURLOPT_FTPASCII | CURLOPT_TRANSFERTEXTのエイリアス。 | |
CURLOPT_FTPLISTONLY | 有効にすると、FTP ディレクトリの名前のみがリストされます。 | |
CURLOPT_HEADER | 有効にすると、ヘッダー ファイル情報がデータ ストリームとして出力されます。 | |
CURLINFO_HEADER_OUT | 有効な場合、ハンドルをトレースするためのリクエスト文字列。 | PHP 5.1.3 以降で利用可能です。 CURLINFO_プレフィックスは意図的なものです。 |
CURLOPT_HTTPGET | 有効にすると、HTTP メソッドは GET に設定されます。GET がデフォルトであるため、変更された場合にのみ使用されます。 | |
CURLOPT_HTTPPROXYTUNNEL | 有効にすると、送信は HTTP プロキシ経由で行われます。 | |
カールプト_ミュート | 有効にすると、cURL 関数で変更されたすべてのパラメーターがデフォルト値に復元されます。 | |
CURLOPT_NETRC | 接続が確立したら、 ~/.netrcファイルにアクセスして、リモート サイトに接続するためのユーザー名とパスワード情報を取得します。 | |
CURLOPT_NOBODY | 有効にすると、HTMLのBODY部分が出力されなくなります。 | |
CURLOPT_NOPROGRESS | 有効にすると、curl 転送のプログレスバーが表示されなくなります。この項目のデフォルト設定は有効です。
| |
CURLOPT_NOSIGNAL | 有効にすると、curl によって php に渡されるすべてのシグナルが無視されます。この項目は、SAPI マルチスレッド送信中にデフォルトで有効になります。 | cURL 7.10 で追加されました。 |
CURLOPT_POST | 有効にすると、フォーム送信と同様に、タイプapplication/x-www-form-urlencodedの通常の POST リクエストが送信されます。 | |
CURLOPT_PUT | HTTP によるファイルの送信を許可する場合は、 CURLOPT_INFILEとCURLOPT_INFILESIZEの両方を設定する必要があります。 | |
CURLOPT_RETURNTRANSFER | curl_exec()で取得した情報を直接出力するのではなく、ファイルストリームの形式で返します。 | |
CURLOPT_SSL_VERIFYPEER | 無効にすると、cURL はサーバーからの検証を終了します。 CURLOPT_CAINFOオプションを使用して証明書を設定します。 CURLOPT_CAPATHオプションを使用して証明書ディレクトリを設定します。 CURLOPT_SSL_VERIFYPEER (デフォルトは 2) が有効な場合は、 CURLOPT_SSL_VERIFYHOST をTRUEに設定する必要があります。それ以外の場合は、 FALSEに設定します。 | cURL 7.10 以降、デフォルトはTRUEです。 cURL 7.10 以降、バンドルのインストールがデフォルトで行われます。 |
CURLOPT_TRANSFERTEXT | 有効にすると、FTP 転送に ASCII モードが使用されます。 LDAP の場合、HTML ではなくプレーン テキスト情報を取得します。 Windows システムでは、システムはSTDOUT をバイナリ モードに設定しません。 | |
CURLOPT_UNRESTRICTED_AUTH | ドメイン名が変更された場合でも、 CURLOPT_FOLLOWLOCATION を使用して生成されたヘッダー内の複数の場所にユーザー名とパスワードの情報を継続的に追加します。 | |
CURLOPT_UPLOAD | 有効にするとファイルのアップロードを許可します。 | |
CURLOPT_VERBOSE | 有効にすると、すべての情報がレポートされ、 STDERRまたは指定されたCURLOPT_STDERRに保存されます。 |
次のオプションのオプション パラメータの場合、値は整数型の値に設定する必要があります。
オプション | オプションの値 | 述べる |
---|---|---|
CURLOPT_BUFFERSIZE | キャッシュのサイズは取得されるデータに毎回読み込まれますが、この値が毎回満たされるという保証はありません。 | cURL 7.10 で追加されました。 |
CURLOPT_CLOSEPOLICY | CURLCLOSEPOLICY_LEAST_RECENTLY_USED または CURLCLOSEPOLICY_OLDEST のいずれか、他に 3 つの CURLCLOSEPOLICY がありますが、cURL はまだそれらをサポートしていません。 | |
CURLOPT_CONNECTTIMEOUT | 接続を開始するまでの待機時間。0 に設定すると、無期限に待機します。 | |
CURLOPT_CONNECTTIMEOUT_MS | 接続試行を待機する時間 (ミリ秒単位)。 0 に設定すると、無限に待機します。 | cURL 7.16.2 で追加されました。 PHP 5.2.3 以降で利用可能です。 |
CURLOPT_DNS_CACHE_TIMEOUT | DNS 情報をメモリに保存する時間を設定します。デフォルトは 120 秒です。 | |
CURLOPT_FTPSSLAUTH | FTP 認証方法: CURLFTPAUTH_SSL (最初に SSL を試す)、 CURLFTPAUTH_TLS (最初に TLS を試す)、またはCURLFTPAUTH_DEFAULT (cURL が自動的に決定する)。 | cURL 7.12.2 で追加されました。 |
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (デフォルト。どのバージョンを使用するかをcurlに決定させます)、 CURL_HTTP_VERSION_1_0 (HTTP/1.0を強制)、またはCURL_HTTP_VERSION_1_1 (HTTP/1.1を強制)。 | |
CURLOPT_INFILESIZE | アップロードされるファイルのサイズ制限をバイト単位で設定します。 | |
CURLOPT_LOW_SPEED_LIMIT | 送信速度がCURLOPT_LOW_SPEED_LIMIT (バイト/秒) 未満の場合、PHP はCURLOPT_LOW_SPEED_TIME を使用して、遅すぎるため送信をキャンセルするかどうかを判断します。 | |
CURLOPT_LOW_SPEED_TIME | 送信速度がCURLOPT_LOW_SPEED_LIMIT (バイト/秒) 未満の場合、PHP はCURLOPT_LOW_SPEED_TIME を使用して、遅すぎるため送信をキャンセルするかどうかを判断します。 | |
CURLOPT_MAXCONNECTS | 許可される接続の最大数を超えた場合、 CURLOPT_CLOSEPOLICY を使用して、どの接続を停止する必要があるかを決定します。 | |
CURLOPT_MAXREDIRS | このオプションはCURLOPT_FOLLOWLOCATIONとともに使用されます。 | |
CURLOPT_PORT | 接続ポートを指定するために使用します。 (オプション) | |
CURLOPT_PROTOCOLS | ビットフィールドはCURLPROTO_*を参照します。有効にすると、ビットフィールド値によって、libcurl が転送中に使用できるプロトコルが制限されます。これにより、多くのプロトコルをサポートするように libcurl をコンパイルできるようになりますが、使用できるのはそれらのサブセットのみです。デフォルトでは、libcurl はサポートするすべてのプロトコルを使用します。 「CURLOPT_REDIR_PROTOCOLS」を参照してください。使用可能なプロトコル オプションは次のとおりです: CURLPROTO_HTTP、CURLPROTO_HTTPS、CURLPROTO_FTP、CURLPROTO_FTPS、CURLPROTO_SCP、CURLPROTO_SFTP、CURLPROTO_TELNET、CURLPROTO_LDAP、CURLPROTO_LDAPS、CURLPROTO_DICT、CURLPROTO_FILE、CURLPROTO_TFTP、CURLPROTO_ALL | cURL 7.19.4 で追加されました。 |
CURLOPT_PROTOCOLS | ビットフィールドはCURLPROTO_*を参照します。有効にすると、ビットフィールド値によって、libcurl が転送中に使用できるプロトコルが制限されます。これにより、多くのプロトコルをサポートするように libcurl をコンパイルできるようになりますが、使用できるのはそれらのサブセットのみです。デフォルトでは、libcurl はサポートするすべてのプロトコルを使用します。 「CURLOPT_REDIR_PROTOCOLS」を参照してください。使用可能なプロトコル オプションは次のとおりです: CURLPROTO_HTTP、CURLPROTO_HTTPS、CURLPROTO_FTP、CURLPROTO_FTPS、CURLPROTO_SCP、CURLPROTO_SFTP、CURLPROTO_TELNET、CURLPROTO_LDAP、CURLPROTO_LDAPS、CURLPROTO_DICT、CURLPROTO_FILE、CURLPROTO_TFTP、CURLPROTO_ALL | cURL 7.19.4 で追加されました。 |
CURLOPT_PROXYAUTH | HTTP プロキシ接続の検証方法。 CURLOPT_HTTPAUTHのビットフィールド フラグを使用して、対応するオプションを設定します。プロキシ認証については、現在CURLAUTH_BASICとCURLAUTH_NTLMのみがサポートされています。 | cURL 7.10.7 で追加されました。 |
CURLOPT_PROXYPORT | プロキシサーバーのポート。ポートはCURLOPT_PROXYで設定することもできます。 | |
CURLOPT_PROXYTYPE | CURLPROXY_HTTP (デフォルト) またはCURLPROXY_SOCKS5のいずれか。 | cURL 7.10 で追加されました。 |
CURLOPT_REDIR_PROTOCOLS | CURLPROTO_*のビットフィールド値。有効にすると、 CURLOPT_FOLLOWLOCATIONが有効なときにリダイレクトを追跡するときにトランスポート スレッドが使用できるプロトコルがビットフィールド値によって制限されます。これにより、リダイレクト時にトランスポート スレッドを許可されたプロトコルのサブセットに制限できるようになります。デフォルトでは、libcurl は FILE と SCP を除くすべてのプロトコルを許可します。これは、サポートされているすべてのプロトコルに無条件で従う 7.19.4 プレリリース バージョンとは少し異なります。プロトコル定数については、 CURLOPT_PROTOCOLSを参照してください。 | cURL 7.19.4 で追加されました。 |
CURLOPT_RESUME_FROM | 転送を再開するときにバイト オフセットを渡します (転送の再開に使用されます)。 | |
CURLOPT_SSL_VERIFYHOST | 1 サーバーの SSL 証明書に共通名があるかどうかを確認します。翻訳者注: 一般名 (Common Name) は、一般に、SSL 証明書を申請するドメイン名 (ドメイン) またはサブドメイン (サブドメイン) を入力することを意味します。 2 共通名が存在し、指定されたホスト名と一致することを確認します。 | |
CURLOPT_SSLVERSION | 使用する SSL バージョン (2 または 3)。デフォルトでは、PHP はこの値を自動的に検出しますが、場合によっては手動で設定する必要がある場合があります。 | |
CURLOPT_TIMECONDITION | CURLOPT_TIMEVALUEで指定された特定の時間後に編集された場合は、 CURL_TIMECOND_IFMODSINCEを使用してページを返します。変更されておらず、 CURLOPT_HEADERが true の場合は、 「304 Not Modified」ヘッダーが返されます。 CURLOPT_HEADERが false の場合は、 CURL_TIMECOND_IFUNMODSINCE を使用します。 、デフォルト値はCURL_TIMECOND_IFUNMODSINCEです。 | |
CURLOPT_TIMEOUT | cURL の実行を許可する最大秒数を設定します。 | |
CURLOPT_TIMEOUT_MS | cURL の実行を許可する最大時間をミリ秒単位で設定します。 | cURL 7.16.2 で追加されました。 PHP 5.2.3 以降で利用可能です。 |
CURLOPT_TIMEVALUE | CURLOPT_TIMECONDITIONで使用されるタイムスタンプを設定します。デフォルトでは、 CURL_TIMECOND_IFMODSINCEが使用されます。 |
次のオプションのオプションのパラメーターの場合、値は文字列型の値に設定する必要があります。
オプション | オプションの値 | 述べる |
---|---|---|
CURLOPT_CAINFO | サーバーによる検証用の 1 つ以上の証明書を保持するファイルの名前。このパラメータは、 CURLOPT_SSL_VERIFYPEERとともに使用した場合にのみ意味を持ちます。 。 | |
CURLOPT_CAPATH | 複数の CA 証明書を保持するディレクトリ。このオプションはCURLOPT_SSL_VERIFYPEERとともに使用されます。 | |
CURLOPT_COOKIE | HTTPリクエストの「Cookie:」部分の内容を設定します。複数の Cookie はセミコロンとその後のスペースで区切られます (たとえば、「 fruit=apple; color=red 」)。 | |
CURLOPT_COOKIEFILE | Cookie データを含むファイルの名前。Cookie ファイルの形式は Netscape 形式にすることも、純粋な HTTP ヘッダー情報だけをファイルに保存することもできます。 | |
CURLOPT_COOKIEJAR | 接続完了後にCookie情報を保存するファイル。 | |
CURLOPT_CUSTOMREQUEST | HTTP リクエストには、 「GET」または「HEAD」の代わりにカスタム リクエスト メッセージを使用します。これは、 「DELETE」またはその他の秘密の HTTP リクエストを実行する場合に役立ちます。有効な値は、 「GET」 、 「POST」 、 「CONNECT」などです。つまり、HTTP リクエスト全体をここに入力しないでください。たとえば、 「GET /index.html HTTP/1.0rnrn」と入力するのは誤りです。
| |
CURLOPT_EGDSOCKET | CURLOPT_RANDOM_FILEに似ていますが、エントロピー収集デーモン ソケットが異なります。 | |
CURLOPT_ENCODING | HTTP リクエスト ヘッダーの「Accept-Encoding:」の値。サポートされているエンコーディングは、 「identity」 、 「deflate」 、および「gzip」です。空の文字列""の場合、サポートされているすべてのエンコーディング タイプがリクエスト ヘッダーで送信されます。 | cURL 7.10 で追加されました。 |
CURLOPT_FTPPORT | この値は、FTP の「POST」コマンドに必要な IP アドレスを取得するために使用されます。 「POST」コマンドは、指定した IP アドレスに接続するようにリモート サーバーに指示します。この文字列には、プレーン テキストの IP アドレス、ホスト名、ネットワーク インターフェイス名 (UNIX の場合)、またはデフォルトの IP アドレスを使用するための単なる「-」を指定できます。 | |
CURLOPT_INTERFACE | ネットワーク送信インターフェイス名には、インターフェイス名、IP アドレス、またはホスト名を使用できます。 | |
CURLOPT_KRB4LEVEL | KRB4 (Kerberos 4) セキュリティ レベル。 「clear」 、 「safe」 、 「confidential」 、 「private」のいずれかの値が有効です (最小値から最大値の順)。文字列がこれらのいずれにも一致しない場合は、 「private」が使用されます。このオプションをNULLに設定すると、KRB4 セキュリティ認証が無効になります。現在、KRB4 セキュリティ認証は FTP 転送にのみ使用できます。 | |
CURLOPT_POSTFIELDS | すべてのデータは、HTTP プロトコルの「POST」操作を使用して送信されます。ファイルを送信するには、ファイル名の前に@を付け、フルパスを使用します。このパラメーターは、「 para1=val1¶2=val2&... 」のような URL コード化された文字列として渡すことも、キーとしてフィールド名、値としてフィールド データを持つ配列を使用することもできます。 valueが配列の場合、 Content-Typeヘッダーはmultipart/form-dataに設定されます。 | |
CURLOPT_PROXY | HTTP プロキシ チャネル。 | |
CURLOPT_PROXYUSERPWD | プロキシへの接続に使用される「[ユーザー名]:[パスワード]」形式の文字列。 | |
CURLOPT_RANDOM_FILE | SSL 乱数シードの生成に使用されるファイルの名前。 | |
CURLOPT_RANGE | "XY"の形式。 X と Y は、データ範囲をバイト単位で取得するためのオプションのオプションです。 HTTP トランスポート スレッドは、 "XY,NM"など、カンマで区切られたこのような複数の重複もサポートします。 | |
CURLOPT_REFERER | HTTPリクエストヘッダーの「Referer:」の内容。 | |
CURLOPT_SSL_CIPHER_LIST | SSL 暗号化アルゴリズムのリスト。たとえば、 RC4-SHAとTLSv1 は両方とも利用可能な暗号化リストです。 | |
CURLOPT_SSLCERT | PEM 形式の証明書を含むファイルの名前。 | |
CURLOPT_SSLCERTPASSWD | CURLOPT_SSLCERT証明書を使用するために必要なパスワード。 | |
CURLOPT_SSLCERTTYPE | 証明書の種類。サポートされている形式は、 「PEM」 (デフォルト)、 「DER」 、および「ENG」です。 | cURL 7.9.3 で追加されました。 |
CURLOPT_SSLENGINE | CURLOPT_SSLKEYで指定された SSL 秘密キーに使用される暗号化エンジン変数。 | |
CURLOPT_SSLENGINE_DEFAULT | 非対称暗号化操作に使用される変数。 | |
CURLOPT_SSLKEY | SSL 秘密キーを含むファイルの名前。 | |
CURLOPT_SSLKEYPASSWD | CURLOPT_SSLKEYで指定された SSL 秘密キーのパスワード。
| |
CURLOPT_SSLKEYTYPE | CURLOPT_SSLKEYで指定された秘密鍵の暗号化タイプ。サポートされる鍵タイプは、 「PEM」 (デフォルト値)、 「DER」および「ENG」です。 | |
CURLOPT_URL | 取得する必要がある URL アドレスは、 curl_init()関数で設定することもできます。 | |
CURLOPT_USERAGENT | HTTP リクエストに「User-Agent:」ヘッダー文字列を含めます。 | |
CURLOPT_USERPWD | 接続に必要なユーザー名とパスワードを"[ユーザー名]:[パスワード]"の形式で渡します。 |
次のオプションのオプションのパラメータの場合、値は配列に設定する必要があります。
オプション | オプションの値 | 述べる |
---|---|---|
CURLOPT_HTTP200ALIASES | 200 応答コード配列の場合、配列内の応答は正しい応答とみなされ、それ以外の場合はエラーとみなされます。 | cURL 7.10.3 で追加されました。 |
CURLOPT_HTTPHEADER | HTTP ヘッダー フィールドの設定に使用される配列。 array('Content-type: text/plain', 'Content-length: 100') の形式で配列を使用して設定します。 | |
CURLOPT_POSTQUOTE | FTP リクエストの実行後にサーバー上で実行される一連の FTP コマンド。 | |
CURLOPT_QUOTE | FTP リクエストの前にサーバー上で実行される一連の FTP コマンド。 |
次のオプションのオプションのパラメーターの場合、値をストリーム リソースに設定する必要があります (たとえば、fopen() を使用)。
オプション | オプションの値 |
---|---|
カールプト_ファイル | 出力ファイルの場所を設定します。値はリソース タイプです。デフォルトはSTDOUT (ブラウザー) です。 |
CURLOPT_INFILE | ファイルをアップロードするときに読み取る必要があるファイル アドレス。値はリソース タイプです。 |
CURLOPT_STDERR | エラー出力アドレスを設定します。値はリソースタイプであり、デフォルトのSTDERRを置き換えます。 |
CURLOPT_WRITEHEADER | ヘッダー部分の内容が書き込まれるファイルアドレスを設定します。値はリソースタイプです。 |
次のオプションのオプションのパラメータの場合、値はコールバック関数名に設定する必要があります。
オプション | オプションの値 |
---|---|
CURLOPT_HEADERFUNCTION | コールバック関数を設定します。この関数には 2 つのパラメータがあります。1 つ目は cURL リソース ハンドルで、2 つ目は出力ヘッダー データです。ヘッダー データの出力は、書き込まれたデータのサイズを返すこの関数に依存する必要があります。 |
CURLOPT_PASSWDFUNCTION | 3 つのパラメータを使用してコールバック関数を設定します。1 つ目は cURL リソース ハンドル、2 つ目はパスワード プロンプト、3 つ目は許可されるパスワードの最大長です。パスワードの値を返します。 |
CURLOPT_PROGRESSFUNCTION | 3 つのパラメーターを使用してコールバック関数を設定します。1 つ目は cURL リソース ハンドル、2 つ目はファイル記述子リソース、3 つ目は長さです。含まれているデータを返します。 |
CURLOPT_READFUNCTION | コールバック関数名。この関数は 3 つのパラメータを受け入れる必要があります。 1 つ目は cURL リソース、2 つ目はCURLOPT_INFILEオプションを通じて cURL に渡されるストリーム リソース、3 つ目は読み取り可能なデータの最大量です。コールバック関数は、要求されたデータ量 (3 番目のパラメーター) 以下の長さの文字列を返す必要があります。通常、受信ストリーム リソースから読み取ります。空の文字列をEOF (ファイルの終わり) 信号として返します。 |
CURLOPT_WRITEFUNCTION | コールバック関数名。この関数は 2 つのパラメータを受け入れる必要があります。 1 つ目は cURL リソースで、2 つ目は書き込まれるデータ文字列です。データは関数内に保存する必要があります。この関数は、データを書き込むために渡された正確なバイト数を返す必要があります。返さない場合、転送はエラーによって中断されます。 |
成功した場合は TRUE を返し、失敗した場合は FALSE を返します。
バージョン | 説明する |
---|---|
5.2.10 | CURLOPT_PROTOCOLS およびCURLOPT_REDIR_PROTOCOLS が導入されました。 |
5.1.0 | CURLOPT_AUTOREFERER 、 CURLOPT_BINARYTRANSFER 、 CURLOPT_FTPSSLAUTH 、 CURLOPT_PROXYAUTH 、およびCURLOPT_TIMECONDITION が導入されました。 |
5.0.0 | CURLOPT_FTP_USE_EPRT 、 CURLOPT_NOSIGNAL 、 CURLOPT_UNRESTRICTED_AUTH 、 CURLOPT_BUFFERSIZE 、 CURLOPT_HTTPAUTH 、 CURLOPT_PROXYPORT 、 CURLOPT_PROXYTYPE 、 CURLOPT_SSLCERTTYPE 、およびCURLOPT_HTTP200ALIASES が導入されました。 。 |
新しい cURL セッションを初期化し、Web ページを取得します。
<?php// 新しい cURL リソースを作成します $ch =curl_init();// URL と対応するオプションを設定しますcurl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); 、CURLOPT_HEADER、false);// URL を取得してブラウザに渡しますcurl_exec($ch);//cURL リソースを閉じ、システム リソースを解放しますcurl_close($ch);?>
アップロードファイルの例:
<?php/* http://localhost/upload.php:print_r($_POST);print_r($_FILES);*/$ch =curl_init();$data = array('name' => 'Foo', 'file' => '@/home/user/test.png');curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $data);curl_exec($ch);?>
上記の例の出力結果は次のようになります。
Array( [名前] => Foo)Array( [ファイル] => Array ( [名前] => test.png [タイプ] => image/png [tmp_name] => /tmp/phpcpjNeQ [エラー] => 0 [サイズ] => 279 ))
配列を CURLOPT_POSTFIELDS に渡す場合、cURL はデータを multipart/form-data にエンコードしますが、URL エンコードされた文字列を渡す場合、データは application/x-www-form-urlencoded にエンコードされます。