curl_setopt_array
(PHP 5 >= 5.1.3, PHP 7)
curl_setopt_array — CURL 転送用の複数のオプションを設定する
説明
curl_setopt_array
( CurlHandle $handle
, array $options
) : bool
cURL セッション用の複数のオプションを設定します。 この関数が便利なのは大量の cURL オプションを設定する場合で、 何度も繰り返して curl_setopt() をコールせずにすみます。
パラメータ
handle
- curl_init() が返す cURL ハンドル。
options
- 設定するオプションとその値を指定した配列。キーとして使用できるのは、 有効な curl_setopt() 定数か、 その定数に対応する整数値だけです。
返り値
すべてのオプションがうまく設定できた場合に true
を返します。
うまく設定できないオプションがあった時点で即時に false
が返され、options
配列に含まれるそれ以降のオプションは無視されます。
例
例1 新規に CURL セッションを初期化、ウェブページを取得する
<?php// 新しい cURL リソースを作成します$ch = curl_init();// URL その他のオプションを適切に設定します$options = array(CURLOPT_URL => 'http://www.example.com/', CURLOPT_HEADER => false );curl_setopt_array($ch, $options);// URL の内容を取得し、ブラウザに渡しますcurl_exec($ch);// cURL リソースを閉じ、システムリソースを開放しますcurl_close($ch);?>
PHP 5.1.3 より前のバージョンでこの関数と同等の操作をするには、次のようにします。
例2 curl_setopt_array() の独自実装
<?phpif (!function_exists('curl_setopt_array')) { function curl_setopt_array(&$ch, $curl_options) { foreach ($curl_options as $option => $value) { if (!curl_setopt($ch, $option, $value)) { return false; } } return true; }}?>
注意
注意:
curl_setopt() と同様、配列を
CURLOPT_POST
に渡すとデータを multipart/form-data でエンコードします。 一方 URL エンコードされた文字列を渡すと、データを application/x-www-form-urlencoded でエンコードします。