PHP curl_setopt_array Function
(PHP 5 >= 5.1.3)
curl_setopt_array — Batch set options for a cURL session.
Description
bool curl_setopt_array ( resource $ch , array $options )
Batch set options for a cURL session. This function is useful when setting a large number of cURL options without repetitively calling curl_setopt().
Parameters
ch
A cURL handle returned by curl_init().
options
An array specifying which options to set and their values. The keys of the array must be valid curl_setopt() constants or their integer equivalents.
Return Values
Returns TRUE if all options are successfully set. If an option cannot be successfully set, FALSE is immediately returned, ignoring any subsequent options in the options array.
Examples
Initialize a new cURL session and fetch a web page.
<?php
// Create a new cURL resource
$ch = curl_init();
// Set URL and other appropriate options
$options = array(CURLOPT_URL => 'https://www.tutorialpro.org',
CURLOPT_HEADER => false
);
curl_setopt_array($ch, $options);
// Grab URL and pass it to the browser
curl_exec($ch);
// Close cURL resource, and free up system resources
curl_close($ch);
?>
Before PHP 5.1.3, this function can be emulated with:
Our equivalent implementation of 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;
}
}
?>
Note: As with curl_setopt(), passing an array to CURLOPT_POST will encode the data as multipart/form-data, while passing a URL-encoded string will encode the data as application/x-www-form-urlencoded.