(PHP 5 >= 5.1.3, PHP 7)
curl_setopt_array — Устанавливает несколько параметров для сеанса cURL
$ch
, array $options
)Устанавливает несколько параметров для сеанса cURL. Эта функция полезна при установке большого количества cURL-параметров без необходимости постоянно вызывать curl_setopt().
ch
Дескриптор cURL, полученный из curl_init().
options
Массив (array), определяющий устанавливаемые параметры и их значения. Ключи должны быть корректными константами для функции curl_setopt() или их целочисленными эквивалентами.
Возвращает TRUE
, если все параметры были успешно установлены.
Если не удалось успешно установить какой-либо параметр,
немедленно возвращается значение FALSE
, а последующие параметры
в массиве options
будут проигнорированы.
Пример #1 Инициализация новой сессии cURL и загрузка веб-страницы
<?php
// создание нового ресурса cURL
$ch = curl_init();
// установка set 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-кодированной строки будет использовать кодировку application/x-www-form-urlencoded.