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