PHP マニュアル
前のページ |  | 次のページ

# curl_setopt

(PHP 4 >= 4.0.2, PHP 5)

curl_setopt -- CURL転送用オプションを設定する

## 説明

bool curl_setopt ( int ch, string option, mixed value)

関数 curl_setopt() は、パラメータ chで指定したCURLセッションのオプションを設 定します。パラメータ option には設定するオ プションを指定し、value には optionで指定したオプションの値を指定します。

value には、(optionで指 定した)以下のオプションをlong値で指定する必要があります。

- CURLOPT_INFILESIZE: リモートサイトにファ イルをアップロードした際に、このオプションが使用され、infileの サイズの予測値をPHPに教えます。

- CURLOPT_VERBOSE: CURLで発生事象を全て出 力させたい場合にこのオプションにゼロ以外の値を設定します。

- CURLOPT_HEADER: 出力にヘッダを挿入した い場合にこのオプションにゼロ以外の値をlongで設定します。

- CURLOPT_NOPROGRESS: CURL転送の進捗状況 をPHPに表示させたくない場合にこのオプションにゼロ以外の値を longで設定します。

  > 注意: PHP は、自動的にこのオプションにゼロ以外のパラメータをlongで 設定します。このオプションを変更するのはデバッグ時のみとする べきです。

- CURLOPT_NOBODY:出力にボディを含ませたく ない場合にこのオプションにゼロ以外のlong値を設定します。

- CURLOPT_FAILONERROR: 300以上のHTTPコー ドが返された場合に、PHPを失敗させたい場合にゼロ以外のlong値を 設定します。デフォルトの動作は、コードを無視して普通にページを返します。

- CURLOPT_UPLOAD: PHPにアップロードを行う 準備をさせたい場合にこのオプションにゼロ以外のlong値を設定します。

- CURLOPT_POST: PHPに通常のHTTP POSTを行 わせたい場合にゼロ以外のlong値を設定します。 このPOSTはHTMLフォームで一般に使用される通常の application/x-www-from-urlencoded 型になります。

- CURLOPT_FTPLISTONLY: このオプションにゼロ以外のlong値を設定すると、PHPは、FTPディレクト リの名前のリストを作成します。

- CURLOPT_FTPAPPEND: このオプションにゼロ 以外のlong値を設定すると、PHPはリモートファイルを上書きせずに追加 します。

- CURLOPT_NETRC: このオプションにゼロ以外 のlong値を設定すると、PHPは、接続を行うリモートサイトのユーザ名と パスワードを見付けるためにファイル~./netrcをスキャンします。

- CURLOPT_FOLLOWLOCATION: このオプション にゼロ以外のlong値を設定すると、サーバーがHTTPヘッダの一部として 送信した"Location: "ヘッダに従います。(注:これは再帰的に行われ、 PHPは送信された"Location: "ヘッダに全て従います)

- CURLOPT_PUT: このオプションはゼロ以外の long値を設定した場合、ファイルのHTTP PUTを行います。PUTを行うファ イルはCURLOPT_INFILEおよびCURLOPT_INFILESIZEで指定する必要があ ります。

- CURLOPT_MUTE: このオプションにゼロ以外 のlong値を設定した場合、PHPはCURL関数の実行に際して全く出力を行い ません。

- CURLOPT_TIMEOUT: curl関数の実行に許可す る最大時間を秒でパラメータでlong値で指定します。

- CURLOPT_LOW_SPEED_LIMIT: バイト/秒で転 送速度をパラメータでlongで指定します。CURLOPT_LOW_SPEED_TIME 秒以下 の場合、転送速度が低いとみなし、処理を中断します。

- CURLOPT_RESUME_FROM: 転送を開始したい位 置のオフセットをバイト数でlongで指定します。

- CURLOPT_SSLVERSION:使用するSSLバージョ ン(2または3)を有するパラメータをlongで指定します。デフォルトで PHPはこれを定義しますが、いくつかのケースでは、マニュアルでこ の値を設定する必要があります。

- CURLOPT_TIMECONDITION: CURLOPT_TIMEVALUEの処理方法を定義するパラメータをlongで指定し ます。このパラメータでTIMECOND_IFMODSINCEまたは TIMECOND_ISUNMODSINCEを設定することが可能です。この機能はHTTP のみの機能です。

- CURLOPT_TIMEVALUE: January 1st, 1970か らの時間を秒数でパラメータとしてlongを指定します。 オプションCURLOPT_TIMEVALUEで指定した値を時間が使用され、 デフォルトでTIMECOND_IFMODSINCEが使用されます。

パラメータvalueは、パラメータ optionの値により次の値を文字列で指定する必要 があります。

- CURLOPT_URL: PHPで取得するURL。 curl_init()でセッションを初期化する際にこの オプションをしようすることも可能です。

- CURLOPT_USERPWD: PHPが接続する際に使用 するために[username]:[password]形式のフォーマットの文字列を指 定します。

- CURLOPT_PROXYUSERPWD: PHPがHTTPプロキシ 接続する際に使用するために[username]:[password]形式のフォーマッ トの文字列を指定します。

- CURLOPT_RANGE: 範囲を指定します。 "X-Y"形式で指定する必要があります。ただし、XまたはYは省略でき ます。HTTP転送はX-Y,N-Mのようにカンマで区切られた複数の間隔も サポートします。

- CURLOPT_POSTFIELDS: HTTP "POST" 命令で ポストするデータ全体を保持する文字列を指定します。

- CURLOPT_REFERER: HTTPリクエストで使用す る"referer"ヘッダを有する文字列を指定します。

- CURLOPT_USERAGENT: HTTPリクエストで使用 する"user-agent"ヘッダを有する文字列を指定します。

- CURLOPT_FTPPORT:ftp "POST" コマンドを使 用する際にIPアドレスを取得するために使用される文字列を指定します。 POST命令は指定したIPアドレスに接続するリモートサーバーを教えま す。この文字列には、IPアドレス、ホスト名、(UNIXの)ネットワークイ ンターフェース名、システムのデフォルトIPアドレスを指定する'-' を使用することが可能です。

- CURLOPT_COOKIE: HTTPヘッダで設定するクッ キーの内容を有する文字列を指定します。

- CURLOPT_SSLCERT: PEM形式の認証のファイ ル名を有する文字列を指定します。

- CURLOPT_SSLCERTPASSWD: CURLOPT_SSLCERT認証を使用する際に必要なパスワードを有する文字 列を返します。

- CURLOPT_COOKIEFILE: クッキーデータを有 するファイルの名前を有する文字列を指定します。 クッキーファイルは、Netscape形式または単にHTTP形式のヘッダをファ イルにダンプしたものとなります。

- CURLOPT_CUSTOMREQUEST:HTTPリクエストを 実行する際にGETまたはHEADの代わりに使用される文字列を指定します。 DELETEや他のもっと単純なHTTPリクエストを実行する場合に便利です。

  > 注意: まずそのコマンドをサーバーがサポートすることが確認できない場合に はこれを行うべきではありません。

次のオプションには、関数fopen()を使用して得ら れたファイル記述子を指定します。

- CURLOPT_FILE: 転送の出力を行うファイル ファイル、デフォルトはSTDOUT。

- CURLOPT_INFILE: 転送の入力元のファイル

- CURLOPT_WRITEHEADER: 出力のヘッダ部を書 き込むファイル

- CURLOPT_STDERR: stderrの代わりにエラー を書き込むファイル

前のページ | ホーム | 次のページ
curl_multi_select | 上に戻る | curl_version