PHPの関数ますcurl_setopt
PHPの関数ますcurl_setopt
(PHP 4> = 4.0.2、PHP 5)
ますcurl_setopt - cURLの転送オプションを設定します。
説明
bool curl_setopt ( resource $ch , int $option , mixed $value )
与えられたのcURLセッションハンドルは、オプションを設定します。
パラメータ
CH
curl_init()でのcURLハンドルを返します。
オプション
CURLOPT_XXXオプションを設定する必要があります。
値
オプションのオプションの値を設定します。
これらのオプションの次のオプションパラメータの場合、値はbool型の値に設定する必要があります。
オプション | オプションの値の値 | 発言 |
---|---|---|
CURLOPT_AUTOREFERER | 場所に従って時:情報:リファラーで自動的に設定ヘッダをリダイレクトします。 | |
CURLOPT_BINARYTRANSFER | 有効にするとCURLOPT_RETURNTRANSFER、ネイティブ(生)の出力を返します。 | |
CURLOPT_COOKIESESSION | 有効カールが唯一の他のクッキーを無視し、セッションクッキーを渡しますときに、デフォルトの状態のcURLはサーバにクッキーのすべてを返します。 セッション・クッキーは、これらのクッキーを存在サーバ側セッションの有効性を決定するために使用されます。 | |
CURLOPT_CRLF | あなたは、キャリッジリターンにUnixの改行を有効にします。 | |
CURLOPT_DNS_USE_GLOBAL_CACHE | グローバルDNSキャッシュを有効に有効に、このスレッドは、安全、およびデフォルトのイネーブル。 | |
CURLOPT_FAILONERROR | ディスプレイのHTTPステータスコードは、デフォルトの動作では、400以下のHTTP情報の数を無視することです。 | |
CURLOPT_FILETIME | これは、ドキュメント内の遠隔情報が有効になっている変更しようとします。 結果情報がある()CURLINFO_FILETIMEオプション機能はcurl_getinfoを通して返します。 curl_getinfo()。 | |
CURLOPT_FOLLOWLOCATION | サーバは、サーバが「場所:」できるようになります返す場合、サーバーに再帰上のヘッダを、あなたは再帰的に数を返す定義さCURLOPT_MAXREDIRSを使用することができます 。 | |
CURLOPT_FORBID_REUSE | 相互作用の終了後の強制切断を再利用することはできません。 | |
CURLOPT_FRESH_CONNECT | キャッシュ接続を交換し、新しい接続を取得するために余儀なくされました。 | |
CURLOPT_FTP_USE_EPRT | FTPダウンロードを有効にすると、EPRT(またはLPRT)コマンドを使用します。 FALSEに設定すると、EPRTおよびLPRTを無効にするだけでPORTコマンドを使用します。 | |
CURLOPT_FTP_USE_EPSV | 有効にすると、最初の試みのEPSVコマンドの前にPASVモードFTP転送プロセスへの応答。 FALSEに設定すると、EPSVコマンドを無効にします。 | |
CURLOPT_FTPAPPEND | 代わりに、それが有効になって上書きの追加の書き込みファイル。 | |
CURLOPT_FTPASCII | CURLOPT_TRANSFERTEXT別名。 | |
CURLOPT_FTPLISTONLY | FTPディレクトリのリスト名のみが有効になっています。 | |
CURLOPT_HEADER | あなたが有効にすると、メッセージヘッダは、データストリームとして出力されます。 | |
CURLINFO_HEADER_OUT | 有効ハンドルリクエスト文字列を追跡。 | PHP 5.1.3以降で使用可能です。 CURLINFO_接頭辞は(意図的に)意図的です。 |
CURLOPT_HTTPGET | GETはデフォルトですので、設定はそのように修飾された場合にのみ使用し、HTTPメソッドがGETできるようになります。 | |
CURLOPT_HTTPPROXYTUNNEL | これは、プロキシが有効になっているHTTPを介して送信されます。 | |
CURLOPT_MUTE | cURLの機能がすべて有効になっているデフォルト値を復元するためのパラメータを変更しました。 | |
CURLOPT_NETRC | 接続が確立されると、ユーザー名とパスワードの情報に対するアクセス〜/ .netrcファイルには、リモートサイトに接続します。 | |
CURLOPT_NOBODY | HTMLのBODY出力の一部が有効になっていることはありません。 | |
CURLOPT_NOPROGRESS | 有効カール伝送プログレスバーを閉じて、これはデフォルトで有効になっています。
| |
CURLOPT_NOSIGNAL | 無視信号の全てがPHPのカールが行わイネーブルに渡されます。 これは、デフォルト時SAPIマルチスレッド転送で有効になっています。 | 7.10カール追加したとき。 |
CURLOPT_POST | 有効には、通常のPOSTリクエストを送信すると、 タイプ:アプリケーション/ xの-WWW-フォームは 、-urlencodedだけでフォームの送信のように。 | |
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は、それ以外の場合はFALSEに設定され、TRUEに設定する必要があります。 | 7.10 CURLデフォルトの始まりは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 7.12.2が添加されます。 |
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE(デフォルト値なので、 使用するバージョンを自分で決めるカール)、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 | HTTPリダイレクトの最大数を指定し、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 | (HTTP用)の送信を復元するときにバイトオフセットを渡します。 | |
CURLOPT_SSL_VERIFYHOST | 共通名(コモンネーム)がサーバのSSL証明書を確認してください。1があるかどうか。 翻訳者注:一般名(一般名)一般的には、適用したいでしょうが、SSL証明書のドメイン(ドメイン)またはサブドメイン(サブドメイン)を充填することです。 2一般名が存在を確認し、それが提供するホスト名と一致した場合です。 | |
CURLOPT_SSLVERSION | SSLのバージョン(2または3)を使用します。 いくつかのケースで手動で設定する必要がありますが、デフォルトではPHPは、この値自体を検出します。 | |
CURLOPT_TIMECONDITION | あなたも指定した時間CURLOPT_TIMEVALUEで、将来的に編集している場合は、変更されていない場合は、ページへのCURL_TIMECOND_IFMODSINCEリターンを使用し、CURLOPT_HEADERが真である、それは、CURLOPT_HEADER偽のは、その後CURL_TIMECOND_IFUNMODSINCEを使用ヘッダーに「304が変更されていません」を返し、デフォルト値CURL_TIMECOND_IFUNMODSINCE。 | |
CURLOPT_TIMEOUT | カールが実行できるようにする最大秒数を設定します。 | |
CURLOPT_TIMEOUT_MS | カールを設定すると、ミリ秒単位の最大数を実行できます。 | CURL 7.16.2が添加されます。 PHP 5.2.3以降から使用することができます。 |
CURLOPT_TIMEVALUE | CURL_TIMECOND_IFMODSINCEを使用して、デフォルトで使用されるタイムスタンプCURLOPT_TIMECONDITIONを設定します 。 |
これらのオプションパラメータの次のオプションの場合、値は文字列型の値に設定する必要があります。
オプション | オプションの値の値 | 発言 |
---|---|---|
CURLOPT_CAINFO | これは、1または証明書ファイル名の検証を可能にするために使用されるサーバーを複数保持しています。 一緒にCURLOPT_SSL_VERIFYPEER使用した場合、このパラメータは意味があります。 。 | |
CURLOPT_CAPATH | CA証明書ディレクトリを複数保持します。 このオプションはCURLOPT_SSL_VERIFYPEERとともに使用されます。 | |
CURLOPT_COOKIE | 内容の一部:HTTPリクエスト"クッキー"を設定します。 複数のセミコロンの後にスペースとセミコロンで区切られたCookie(例えば、「果物=りんご;色=赤")。 | |
CURLOPT_COOKIEFILE | ファイル名は、クッキーのデータフォーマットのクッキーファイルは、ファイルにNetscapeの形式、あるいは単なるHTTPヘッダー情報にすることができます含まれています。 | |
CURLOPT_COOKIEJAR | 接続の終了後に、クッキーファイルの情報を保存します。 | |
CURLOPT_CUSTOMREQUEST | カスタム要求情報を使用しての代わりにHTTPリクエストとして"GET"または"HEAD"。 これは、「DELETE」または他のより曖昧なHTTPリクエストの実装です。 このような"GET"、 "POST"は、有効な値として「CONNECT」ようにと。 つまり、ここでは全体のHTTPリクエストを入力しないでください。 たとえば、次のように入力し「GET /index.htmlがHTTP / 1.0 \ rを \ nを\ rをする\ n "正しくありません。
| |
CURLOPT_EGDSOCKET | Entropy Gathering Daemonソケットを使用して加えて同様CURLOPT_RANDOM_FILE、。 | |
CURLOPT_ENCODING | HTTPリクエストヘッダには、「同意エンコード:」の値を。 サポートされているエンコーディング「同一性」、「収縮」、および「GZIP」。 空の文字列""の場合、最初の要求はサポートされているすべての符号化タイプに送信されます。 | これは、cURLの7.10で追加されました。 |
CURLOPT_FTPPORT | この値は、必要に応じてFTP "POST"命令のIPアドレスを取得するために使用されます。 "POST"命令は、当社が指定したIPアドレスに接続するリモート・サーバに指示します。 ' - 'デフォルトIPアドレスを使用するには、この文字列はプレーンテキストIPアドレス、ホスト名、ネットワークインターフェース名(UNIXの下)か、単にすることができます。 | |
CURLOPT_INTERFACE | NET SENDインタフェース名は、インタフェース名、IPアドレスまたはホスト名を指定できます。 | |
CURLOPT_KRB4LEVEL | KRB4(Kerberos 4)セキュリティレベル。 次の値のいずれかが(ローからハイ順に)有効です。「クリア」、「安全 」、「機密」、「プライベート」.. 文字列が一致しないと、これらは「プライベート」に使用されます。 このオプションは、NULLに設定されてKRB4安全認証を無効にします。 現在KRB4安全認証はFTP転送のために使用することができます。 | |
CURLOPT_POSTFIELDS | 「POST」の操作でHTTPプロトコルを使用して、すべてのデータが送信されます。 @接頭辞の付いたファイル名の前にファイルを送信し、完全なパスを使用します。 このパラメータは、URLエンコード後の文字列'PARA1 = val1と&PARA2 = val2のことで同様にすることができます&...'またはキーフィールド名を使用して、フィールドのデータ配列の値。 値が 配列である場合は、Content-Typeヘッダはmultipart / form-dataに設定されます。 | |
CURLOPT_PROXY | HTTPプロキシチャンネル。 | |
CURLOPT_PROXYUSERPWD | 書式文字列:プロキシ"[パスワード] [ユーザ名]」に接続する1 。 | |
CURLOPT_RANDOM_FILE | SSLは、乱数シードファイル名を生成するために使用されます。 | |
CURLOPT_RANGE | 「XY」の形式では、XおよびYは、バイト単位で、両方のオプションのデータ収集範囲です。 HTTP転送スレッドはまた、 "XY、NM"のようにカンマで区切られたいくつかのこのような中間重複したエントリを、サポートしています。 | |
CURLOPT_REFERER | 内容:HTTPヘッダ「リファラー」要求で。 | |
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 | SSL秘密鍵で指定CURLOPT_SSLKEYパスワード。
| |
CURLOPT_SSLKEYTYPE | キータイプサポートCURLOPT_SSLKEYに指定された秘密鍵暗号化タイプは、「PEM」(デフォルト値 )、 "DER"および"ENG"です。 | |
CURLOPT_URL | URLアドレスは、curl_init()関数に配置されるように取得する必要があります。 | |
CURLOPT_USERAGENT | ヘッダ文字列:HTTP要求では、「ユーザーエージェント」を含みます。 | |
CURLOPT_USERPWD | 「[ユーザー名]:[パスワードの接続を渡す形式でユーザー名とパスワードが必要です]」。 |
次のオプションパラメータのためのこれらのオプションは、値が配列として設定する必要があります。
オプション | オプションの値の値 | 発言 |
---|---|---|
CURLOPT_HTTP200ALIASES | 200応答コードの配列、それは正しい応答と見なされる応答の配列は、それ以外の場合はエラーと見なされます。 | CURL 7.10.3が添加されます。 |
CURLOPT_HTTPHEADER | HTTPヘッダフィールドの配列を設定します。 次の設定の配列を使用します。配列( 'コンテンツタイプ:テキスト/平野'、 'コンテンツ長さ:100') | |
CURLOPT_POSTQUOTE | 実行後のFTPコマンドのセットを実行するには、サーバー上の完全なFTP要求です。 | |
CURLOPT_QUOTE | 前FTP要求にサーバー上で実行されるFTPコマンドのセット。 |
これらのオプションの次のオプションパラメータについては、値が(のfopen()を使用して、例えば)資源の流れに設定する必要があります。
オプション | オプションの値の値 |
---|---|
CURLOPT_FILE | 出力ファイルの場所を設定し、値はリソースタイプで、デフォルトはSTDOUT(ブラウザ)です。 |
CURLOPT_INFILE | ファイルをアップロードするアドレスファイルには、リソース・タイプの値を読み出すことができます。 |
CURLOPT_STDERR | エラー出力アドレス値を設定する代わりに、デフォルトのSTDERRの、リソースタイプです。 |
CURLOPT_WRITEHEADER | アドレス・ファイルの内容の書き込みヘッダ部の設定値は、リソース・タイプです。 |
これらのオプションパラメータの次のオプションの場合、値はコールバック関数名に設定する必要があります。
オプション | オプションの値の値 |
---|---|
CURLOPT_HEADERFUNCTION | 2つの引数を取るコールバック関数を設定する最初のパラメータはcURLリソースハンドルであり、第2のヘッダデータが出力されます。 出力ヘッダデータは、データの大きさが書き込まれている返す関数に依存しなければなりません。 |
CURLOPT_PASSWDFUNCTION | コールバック関数を設定すると、最初は、cURLのリソースハンドルで、3つの引数を取り、2番目はパスワードプロンプトで、3番目のパラメータは許容される最大パスワードの長さです。 パスワードの値を返します。 |
CURLOPT_PROGRESSFUNCTION | コールバック関数を設定すると、最初は、cURLのリソースハンドルで、3つの引数を取り、2つ目は、リソースファイル記述子であり、第3は長さです。 それが含まれているデータを返します。 |
CURLOPT_READFUNCTION | コールバック関数名。 この関数は、あるべきである3つのパラメータを受け取ります。 最初のパラメータはcURLリソースで、2番目は、ストリームリソースのcURL CURLOPT_INFILEを渡すためのオプションであり、三番目のパラメータは、データを読み込むことができる最大数です。 コールバック関数は、以下の文字列の長さ、要求されたデータの量(第三パラメータ)を返す必要があります。 一般的には、着信ストリームリソースから読み込みます。 EOF(ファイルの終わり )の信号として空の文字列を返します。 |
CURLOPT_WRITEFUNCTION | コールバック関数名。 関数は、2つの引数を受け入れる必要があります。 最初のパラメータは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/"); curl_setopt($ch, 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 ( [name] => Foo ) Array ( [file] => Array ( [name] => test.png [type] => image/png [tmp_name] => /tmp/phpcpjNeQ [error] => 0 [size] => 279 ) )
ノート
配列CURLOPT_POSTFIELDSを渡す、cURLのデータがマルチパート/フォームデータにエンコードして、[URLエンコードされた文字列を渡すされ、データは、アプリケーション/ x-www-form-urlencodedとしてエンコードされます。