Latest web development tutorials

PHP curl_setopt_array函數

PHP curl_setopt_array函數

PHP Calendar 參考手冊 PHP cURL參考手冊

(PHP 5 >= 5.1.3)

curl_setopt_array — 為cURL傳輸會話批量設置選項。


說明

bool curl_setopt_array ( resource $ch , array $options )

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


參數

ch

由curl_init() 返回的cURL 句柄。

options

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


返回值

如果全部的選項都被成功設置,返回TRUE。 如果一個選項不能被成功設置,馬上返回FALSE,忽略其後的任何在options數組中的選項。


實例

初始化一個新的cURL輝煌並抓取一個web頁面。

<?php
// 创建一个新cURL资源
$ch = curl_init();

// 设置URL和相应的选项
$options = array(CURLOPT_URL => 'http://www.w3cschool.cc/',
                 CURLOPT_HEADER => false
                );

curl_setopt_array($ch, $options);

// 抓取URL并把它传递给浏览器
curl_exec($ch);

// 关闭cURL资源,并且释放系统资源
curl_close($ch);
?>

早於PHP 5.1.3這個函數可以做如下模擬:

我們對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的方式對數據進行編碼。


PHP Calendar 參考手冊 PHP cURL參考手冊