cURL 関数
PHP Manual

curl_setopt_array

(PHP 5 >= 5.1.3)

curl_setopt_arrayCURL 転送用の複数のオプションを設定する

説明

bool curl_setopt_array ( resource $ch , array $options )

cURL セッション用の複数のオプションを設定します。 この関数が便利なのは大量の cURL オプションを設定する場合で、 何度も繰り返して curl_setopt() をコールせずにすみます。

パラメータ

ch

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() の独自実装

<?php
if (!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 でエンコードします。

参考


cURL 関数
PHP Manual