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