Manuel PHP
Précédent |  | Suivant

# curl_setopt

(PHP 4 >= 4.0.2, PHP 5)

curl_setopt -- Modifie une option de transfert CURL

## Description

bool curl_setopt ( resource ch, string option, mixed value)

curl_setopt() fixe les options de transfert de la session CURL identifiée par `ch`. `option` est le nom de l'option à fixer, et `value` est sa valeur.

`value` doit être de type "long" pour les options suivantes (spécifiée par `option`) :

- `curlopt_infilesize` : Lorsque vous téléchargez un fichier sur un site distant, cette option sert à indiquer à `PHP` la taille maximale du fichier attendu.

- `curlopt_verbose` : Choisissez une valeur non nulle pour que CURL vous affiche tous les événements.

- `curlopt_header` : Choisissez une valeur non nulle pour que CURL inclut l'en-tête dans la valeur de retour.

- `curlopt_noprogress` : Choisissez une valeur non nulle pour que `PHP` n'affiche pas l'état des transferts CURL.

  > Note : `PHP` choisit automatiquement une valeur non nulle. Ne changez cette valeur que le temps du débogage.

- `curlopt_nobody` : Choisissez une valeur non nulle pour que le corps du transfert ne soit pas inclus dans la valeur de retour.

- `curlopt_failonerror` : Choisissez une valeur non nulle pour que `PHP` traite silencieusement les codes HTTP supérieurs à 300. Le comportement par défaut est de retourner la page normalement, en ignorant ce code.

- `curlopt_upload` : Choisissez une valeur non nulle pour que `PHP` prépare un chargement.

- `curlopt_post` : Choisissez une valeur non nulle pour que `PHP` fasse un HTTP POST. Un POST est un encodage normal "application/x-www-from-url", utilisé couramment par les formulaires HTML.

- `curlopt_ftplistonly` : Choisissez une valeur non nulle pour que `PHP` ne fasse que lister les noms d'un dossier FTP.

- `curlopt_ftpappend` : Choisissez une valeur non nulle pour que `PHP` concatène le fichier distant, plutôt que de l'écraser.

- `curlopt_netrc` : Choisissez une valeur non nulle pour que `PHP` analyse votre fichier `~./netrc` et utilise votre nom de compte et mot de passe sur le site distant que vous souhaitez contacter.

- `curlopt_followlocation` : Choisissez une valeur non nulle pour suivre toutes les en-têtes "Location: " que le serveur envoie dans les en-têtes HTTP (notez que cette fonction est récursive et que `PHP` suivra toutes les en-têtes "Location: " qu'il trouvera).

- `curlopt_put` : Choisissez une valeur non nulle pour que pour chargement se fasse par HTTP PUT. Le fichier à charger doit être fixé avec les options `CURLOPT_INFILE` et `CURLOPT_INFILESIZE`.

- `curlopt_mute` : Choisissez une valeur non nulle pour que `PHP` soit totalement silencieux concernant toutes les fonctions CURL.

- `curlopt_timeout` : Passez un entier "long" comme paramètre qui représente le temps maximum d'exécution de la fonction CURL.

- `curlopt_low_speed_limit` : Passez un entier long qui représente la vitesse minimale en octets par secondes en dessous de laquelle, et pendant `CURLOPT_LOW_SPEED` secondes, `PHP` considérera qu'elle est trop lente, et annulera le transfert.

- `curlopt_low_speed_time` : Passez un entier "long" qui représente le temps en secondes, qui, si la vitesse de transfert reste en dessous de `CURLOPT_LOW_SPEED_LIMIT`, `PHP` considèrera que la connexion est trop lente, et l'annulera.

- `curlopt_resume_from` : Passez un entier "long", qui représente l'offset, en octets, à partir duquel vous voulez commencer le transfert.

- `curlopt_sslversion` : Passez un entier "long" qui contient la version de SSL (2 ou 3) à utiliser. Par défaut, `PHP` essaiera de le déterminer lui-même, bien que dans certains cas, il vous faudra le faire manuellement.

- `curlopt_timecondition` : Passez un entier "long" qui définit comment `CURLOPT_TIMEVALUE` est utilisé. Vous pouvez choisir entre les valeurs `TIMECOND_IFMODSINCE` ou `TIMECOND_ISUNMODSINCE`. C'est une fonctionnalité HTTP.

- `curlopt_timevalue` : Passez un entier "long" qui représente le temps en secondes depuis le 1er janvier 1970. Cette valeur sera utilisée comme spécifié dans l'option `CURLOPT_TIMEVALUE`. Par défaut, `TIMECOND_IFMODSINCE` sera utilisée.

`value` doit être une chaîne de caractères pour les valeurs suivantes de `option`

- `curlopt_url` : L'URL que `PHP` va récupérer. Vous pouvez aussi choisir cette valeur lors de l'appel à curl_init().

- `curlopt_userpwd` : Passez une chaîne de caractères au format [nom]:[mot de passe], pour que `PHP` l'utilise lors de la connexion.

- `curlopt_proxyuserpwd` : Passez une chaîne de caractères au format [nom]:[mot de passe ], pour que `PHP` l'utilise lors de la connexion à un proxy HTTP.

- `curlopt_range` : Passez une chaîne de caractères qui représente la plage de valeurs que vous désirez. Elle est au format "X-Y", où les valeurs de X ou Y peuvent être omises. Le transfert HTTP supporte aussi plusieurs intervalles, séparés par des virgules : X-Y,N-M.

- `curlopt_postfields` : Passez une chaîne de caractères qui contient toutes les données à passer lors d'une opération de HTTP POST.

- `curlopt_referer` : Passez une chaîne de caractères qui contient l'en-tête de "REFERER", utilisé lors d'une requête HTTP.

- `curlopt_useragent` : Passez une chaîne de caractères qui contient l'en-tête "user-agent" utilisé dans une requête HTTP.

- `curlopt_ftpport` : Passez une chaîne de caractères qui désignera l'adresse IP utilisée pour l'instruction FTP "PORT". L'instruction POST indique au serveur distant de se connecter à cette adresse IP. La chaîne peut être une adresse IP, un nom d'hôte, un nom d'interface réseau (sous UNIX), ou juste '-', pour utiliser les IP par défaut du système.

- `curlopt_cookie` : Passez une chaîne de caractères qui contiendra le contenu du cookie, à transmettre dans l'en-tête HTTP.

- `curlopt_sslcert` : Passez une chaîne de caractères qui contiendra le nom de fichier du certificat, au format PEM.

- `curlopt_sslcertpasswd` : Passez une chaîne de caractères qui contient le mot de passe nécessaire pour utiliser le certificat `CURLOPT_SSLCERT`.

- `curlopt_cookiefile` : Passez une chaîne de caractères qui contiendra le nom du fichier contenant les données de cookie. Le fichier de cookie peut être au format Netscape, ou simplement des en-têtes HTTP écrits dans un fichier.

- `curlopt_customrequest` : Passez une chaîne de caractères qui sera utilisée à la place de GET ou HEAD lors des requêtes HTTP. Cette commande est pratique pour effectuer un DELETE ou une autre commande HTTP exotique.

  > Note : N'utilisez pas cette commande sans vous assurer que le serveur l'accepte.

Les options suivantes requièrent un pointeur de fichier, qui est obtenu avec la fonction fopen() :

- `curlopt_file` : Le fichier de sortie de votre transfert. Par défaut, STDOUT.

- `curlopt_infile` : Le fichier d'entrée de votre transfert.

- `curlopt_writeheader` : Le fichier de destination de l'en-tête de la sortie du transfert.

- `curlopt_stderr` : Le fichier d'erreurs.

Précédent | Sommaire | Suivant
curl_multi_select | Niveau supérieur | curl_version