= 5.1.3, PHP 7, PHP 8)curl_setopt_array — 為 cURL 傳輸會話批量設(shè)置選項說明curl_setopt_array(resource $ch, array $options): bool為 cURL 傳輸會話">
(PHP 5 >= 5.1.3, PHP 7, PHP 8)
curl_setopt_array — 為 cURL 傳輸會話批量設(shè)置選項
$ch
, array $options
): bool為 cURL 傳輸會話批量設(shè)置選項。這個函數(shù)對于需要設(shè)置大量的 cURL 選項是非常有用的,不需要重復(fù)地調(diào)用 curl_setopt()。
handle
由 curl_init() 返回的 cURL 句柄。
options
一個 array 用來確定將被設(shè)置的選項及其值。數(shù)組的鍵值必須是一個有效的curl_setopt()常量或者是它們對等的整數(shù)值。
如果全部的選項都被成功設(shè)置,返回true
。如果一個選項不能被成功設(shè)置,馬上返回false
,忽略其后的任何在options
數(shù)組中的選項。
示例 #1 初始化新的 cURL 會話并抓取 web 頁面
<?php
// 創(chuàng)建一個新 cURL 資源
$ch = curl_init();
// 設(shè)置 URL 和相應(yīng)的選項
$options = array(CURLOPT_URL => 'http://www.example.com/',
CURLOPT_HEADER => false
);
curl_setopt_array($ch, $options);
// 抓取 URL 并把它傳遞給瀏覽器
curl_exec($ch);
// 關(guān)閉 cURL 資源,并且釋放系統(tǒng)資源
curl_close($ch);
?>
早于PHP 5.1.3這個函數(shù)可以做如下模擬:
示例 #2 我們對curl_setopt_array()的等價實現(xiàn)
<?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()來說,傳遞一個數(shù)組到
CURLOPT_POST
將會把數(shù)據(jù)以multipart/form-data的方式編碼,然而傳遞一個URL-encoded字符串將會以application/x-www-form-urlencoded的方式對數(shù)據(jù)進行編碼。