為 cURL 傳輸會話批量設定選項

curl_setopt_array

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

curl_setopt_array為 cURL 傳輸會話批量設定選項

說明

curl_setopt_array(resource $ch, array $options): bool

為 cURL 傳輸會話批量設定選項。這個函式對於需要設定大量的 cURL 選項是非常有用的,不需要重複地呼叫 curl_setopt()

參數

handle

curl_init() 返回的 cURL 控制代碼。

options

一個 array 用來確定將被設定的選項及其值。陣列的鍵值必須是一個有效的curl_setopt()常量或者是它們對等的整數值。

返回值

如果全部的選項都被成功設定,返回true。如果一個選項不能被成功設定,馬上返回false,忽略其後的任何在options陣列中的選項。

範例

示例 #1 初始化新的 cURL 會話並抓取 web 頁面

<?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-encoded字串將會以application/x-www-form-urlencoded的方式對數據進行編碼。

參見

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *