関数
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の代わりにエラー を書き込むファイル