(PHP 5 >= 5.1.3)
curl_setopt_array — Fixe plusieurs options pour un transfert cURL
$ch
, array $options
)Fixe plusieurs options pour une session cURL. Cette fonction est utile pour configurer un grand nombre d'options cURL sans appeler à chaque fois curl_setopt().
ch
Un gestionnaire cURL retourné par la fonction curl_init().
options
Un tableau spécifiant quelles options à fixer avec leurs valeurs. Les clés devraient être des constantes valides de curl_setopt() ou leur entier équivalent.
Retourne TRUE
si toutes les options ont été fixées correctement. Si une
option ne peut pas être fixée correctement, FALSE
est retourné
immédiatement, en ignorant toutes les options futures dans le tableau
options
.
Exemple #1 Initialisation d'une nouvelle session cURL et récupération d'une page web
<?php
// crée une nouvelle ressource cURL
$ch = curl_init();
// fixe l'URL et les autres options appropriées
$options = array(CURLOPT_URL => 'http://www.example.com/',
CURLOPT_HEADER => false
);
curl_setopt_array($ch, $options);
// attrape l'URL et la passe au navigateur
curl_exec($ch);
// ferme la ressource cURL et libère les ressources systèmes
curl_close($ch);
?>
Avant PHP 5.1.3, cette fonction peut être simulée avec :
Exemple #2 Notre propre implémentation de la fonction 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:
Avec la fonction curl_setopt(), le fait de passer un tableau comme valeur de la constante
CURLOPT_POST
fera que les données seront encodées comme multipart/form-data, tandis que le fait de passer une chaîne encodée URL fera que les données seront encodées comme application/x-www-form-urlencoded.