curl_setopt_array 为 cURL 传输会话批量设置选项

发表日期:2021-07-01 08:56:37 | 来源: | | 浏览(698) 分类: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的方式对数据进行编码。

参见

集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。