Php/docs/function.curl-setopt-array

提供:Dev Guides
< Php
移動先:案内検索

curl_setopt_array

(PHP 5 >= 5.1.3, PHP 7)

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


説明

curl_setopt_array ( CurlHandle $handle , array $options ) : bool

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


パラメータ

handle
curl_init() が返す cURL ハンドル。
options
設定するオプションとその値を指定した配列。キーとして使用できるのは、 有効な curl_setopt() 定数か、 その定数に対応する整数値だけです。


返り値

すべてのオプションがうまく設定できた場合に true を返します。 うまく設定できないオプションがあった時点で即時に false が返され、options 配列に含まれるそれ以降のオプションは無視されます。


変更履歴

バージョン 説明
8.0.0 handleCurlHandle クラスのインスタンスを期待するようになりました。

これより前のバージョンでは、resource を期待していました。


例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 でエンコードします。

参考