English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico PHP

Tutorial avançado PHP

PHP & MySQL

Manual de referência PHP

Uso e exemplo da função PHP curl_setopt_array()

PHP CURL参考手册

(PHP 5 >= 5.1.3)

curl_setopt_array — Configura opções em lote de sessão de transmissão CURL.

Sintaxe

bool curl_setopt_array ( resource $ch , array $options )

Para configurar opções em lote de sessão de transmissão CURL. Esta função é muito útil para configurar uma grande quantidade de opções CURL, sem a necessidade de chamar repetidamente 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 => 'https://pt.oldtoolbag.com',
                 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 CURL参考手册