CURLOPT_INFILESIZE: Quando si carica
un file su un server remoto, questa opzione dovrebbe essere usata
per dire a PHP quale dimensione attendersi dal file in arrivo.
CURLOPT_VERBOSE: Impostare questa opzione a un valore
diverso da zero se si vuole che CURL to segnali tutto quello che sta
avvenendo.
CURLOPT_HEADER: Impostare questa opzione a un valore
diverso da zero se si vuole che gli header vengano inclusi
nell'output.
CURLOPT_NOPROGRESS: Impostare questa opzione a un valore
diverso da zero se non si vuole che PHP mostri l'indicazione di avanzamento
nei trasferimenti CURL.
Nota:
PHP imposta automaticamente questa opzione a un valore non-zero,
esso dovrebbe essere cambiato solo per eseguire il debug.
CURLOPT_NOBODY: Impostare questa opzione a un valore
diverso da zero se non si desidera l'inclusione del body
nell'output.
CURLOPT_FAILONERROR: Impostare questa opzione a un valore
diverso da zero se si vuole che PHP termini senza generare messaggi se il codice HTTP
restituito è maggiore di 300. Il comportamento di default è
di restituire la pagina comunque, ignorando la presenza del codice.
CURLOPT_UPLOAD: Impostare questa opzione a un valore
diverso da zero se si vuole che PHP si prepari per un upload.
CURLOPT_POST: Impostare questa opzione a un valore
diverso da zero se si vuole che PHP esegua un comune HTTP POST.
Questo POST è di tipo application/x-www-form-urlencoded,
molto spesso usato nei form HTML.
CURLOPT_FTPLISTONLY: Impostare questa opzione a un valore
diverso da zero e PHP semplicemente elencherà i nomi in una directory
FTP.
CURLOPT_FTPAPPEND: Impostare questa opzione a un valore
diverso da zero e PHP accoderà l'output al file remoto invece di
sovrascrivere.
CURLOPT_NETRC: Impostare questa opzione a un valore
diverso da zero e PHP leggerà il vostro file ~./netrc
al fine di trovare username e password per il server remoto verso il quale
si sta eseguendo la connessione.
CURLOPT_FOLLOWLOCATION: Impostare questa opzione a un valore
diverso da zero per seguire ogni header "Location: " che il server dovesse
inviare come parte degli header HTTP (si noti che questo
è ricorsivo, PHP seguirà tutti gli header "Location: " che dovessero essere
inviati.)
CURLOPT_PUT: Impostare questa opzione a un valore
diverso da zero per eseguire un HTTP PUT su un file. Il file su cui eseguire PUT deve essere impostato
con CURLOPT_INFILE e CURLOPT_INFILESIZE.
CURLOPT_MUTE: Impostare questa opzione a un valore
diverso da zero e PHP resterà silenzioso riguardo alle
funzioni CURL.
CURLOPT_TIMEOUT: Passa un tipo di dato long come
parametro che contiene il tempo massimo, in secondi, che
si è disposti a concedere alle funzioni CURL.
CURLOPT_LOW_SPEED_LIMIT: Passa un tipo di dato long come
parametro contenente la velocità di trasferimento espressa in byte al
secondo, velocità al di sotto della quale il trasferimento dovrà rimanere per
CURLOPT_LOW_SPEED_TIME secondi affinché PHP lo consideri troppo lento
e lo termini.
CURLOPT_LOW_SPEED_TIME: Passa un tipo di dato long come
parametro che contiene il tempo in secondi che il trasferimento dovrà rimanere
al di sotto del valore CURLOPT_LOW_SPEED_LIMIT affinché PHP lo consideri troppo
lento e lo termini.
CURLOPT_RESUME_FROM: Passa un tipo di dato long come
parametro che contiene l'offset, in byte, dal quale partire
per effettuare il trasferimento.
CURLOPT_CAINFO: Passa il nome di un file
contenente uno o più certificati da validare con la controparte. Questo ha senso solo
quando viene usato con il parametro
CURLOPT_SSL_VERIFYPEER.
CURLOPT_SSL_VERIFYPEER: Passa un long che se impostato
a zero ferma la verifica dei certificati da parte di curl
(per default curl 7.10 ha questa opzione impostata a TRUE).
Si possono specificare certificati alternativi usando l'opzione
CURLOPT_CAINFO (aggiunta in curl 7.9.8)
oppure si può specificare una directory contenente i certificati usando
CURLOPT_CAPATH. Dalla versione 7.10 curl installa
un'area di default. Può essere necessario impostare il parametro
CURLOPT_SSL_VERIFYHOST a 1 oppure 0 se
CURLOPT_SSL_VERIFYPEER è disabilitato (per default è impostato a 2).
CURLOPT_SSLVERSION: Passa un tipo di dato long come
parametro che contiene la versione SSL (2 o 3) da usare. Di
default PHP cercherà di determinare questo dato sè, ciononostante,
in alcuni casi andrà impostato manualmente.
CURLOPT_SSL_VERIFYHOST: Passa un tipo di dato long se
CURL deve verificare il common name del peer certificate durante
l'handshake SSL. Un valore di 1 denota che si deve cercare
l'esistenza del common name, un valore di 2 denota che dovremo assicurarci
che corrisponda all'hostname fornito.
CURLOPT_TIMECONDITION: Passa un tipo di dato long come
parametro che che definisce come trattare CURLOPT_TIMEVALUE.
Si può impostare questo parametro a TIMECOND_IFMODSINCE o
TIMECOND_ISUNMODSINCE. Questa è una caratteristica del solo HTTP.
CURLOPT_TIMEVALUE: Passa un tipo di dato long come
parametro che rappresenta il tempo espresso in secondi trascorsi dal 1 Gennaio 1970.
Il tempo verrà usato come specificato dall'opzione CURLOPT_TIMECONDITION
o di default verrà usato TIMECOND_IFMODSINCE.
CURLOPT_RETURNTRANSFER: Passa un valore diverso da zero
se si desidera che CURL restituisca direttamente il trasferimento invece
di stamparlo.
CURLOPT_URL: Questo è l'URL che si desidera
far salvare da PHP. Si può anche impostare questa opzione quando si
inizializza una sessione con la funzione
curl_init().
CURLOPT_USERPWD: Passa una stringa
formattata come [username]:[password], che sarà usata da PHP per
la connessione.
CURLOPT_PROXYUSERPWD: Passa una stringa
formattata come [username]:[password], per la connessione
al proxy HTTP.
CURLOPT_RANGE: Passa il range richiesto.
Deve essere nel formato "X-Y", dove X o Y possono
essere omessi. I trasferimenti HTTP supportano anche intervalli multipli,
separati da virgole come in X-Y,N-M.
CURLOPT_POSTFIELDS: Passa una stringa
contenente tutti i dati da inviare durante una richiesta HTTP "POST".
CURLOPT_REFERER: Passa una stringa
contenente l'header "referer" che verrà usato in una richiesta HTTP.
CURLOPT_USERAGENT: Passa una stringa
contenente l'header "user-agent" che sarà usato nella richiesta
HTTP.
CURLOPT_FTPPORT: Passa una stringa
contenente il valore che verrà usato per ottenere l'indirizzo IP da
usarsi per l'istruzione "POST" dell'ftp. L'istruzione POST dice
al server remoto di collegarsi al nostro indirizzo IP specificato. La
stringa può essere un semplice indirizzo IP, un hostname, il nome di una
interfaccia di rete (sotto Unix) o semplicemente un '-' per indicare di usare
l'indirizzo IP di default del sistema.
CURLOPT_COOKIE: Passa una stringa
contenente il contenuto del cookie da impostare nell'header
HTTP.
CURLOPT_SSLCERT: Passa una stringa
contenente il filename del certificato formattato secondo PEM.
CURLOPT_SSLCERTPASSWD: Passa una stringa
contenente la password richiesta per usare il certificato
CURLOPT_SSLCERT .
CURLOPT_COOKIEFILE: Passa una stringa
contenente il nome del file contenente i dati relativi al cookie.
Il file del cookie può essere in formato Netscape o semplicemente
un dump degli header in stile HTTP.
CURLOPT_CUSTOMREQUEST: Passa una stringa
da usare al posto di GET o
HEAD nell'effettuare una richiesta HTTP. Questo è
utile per effettuare un DELETE o altre, più oscure
richieste HTTP. Valori validi sono cose del tipo
GET, POST e così via;
per esempio non inserire qui una richiesta HTTP intera. Per esempio,
inserire 'GET /index.html HTTP/1.0\r\n\r\n' sarebbe sbagliato.
Nota:
Non eseguire se non si è sicuri che il proprio server supporti
il comando.
CURLOPT_PROXY: Indica il nome del server proxy HTTP
attraverso il quale inviare le richieste.
CURLOPT_INTERFACE: Passa il nome dell'interfaccia di
rete da usare in uscita. Questo può essere il nome di un'interfaccia,
un indirizzo IP o un nome di host.
CURLOPT_KRB4LEVEL: Passa il security level
KRB4 (Kerberos 4). Ognuna delle seguenti stringhe (in
ordine dalla meno alla più potente): 'clear', 'safe',
'confidential', 'private'. Se la stringa inviata non corrisponde a nessuna di
queste, verrà usata 'private'. Se si imposta a NULL,
la security KRB4 verrà disabilitata. La security KRB4, al momento, funziona solamente
con le transazioni FTP.
CURLOPT_HTTPHEADER: Passa un array di campi header
HTTP da impostare.
CURLOPT_QUOTE: Passa un array di
comandi FTP da eseguire sul server, prima della richiesta FTP.
CURLOPT_POSTQUOTE: Passa un array di
comandi FTP da eseguire sul server, dopo che la richiesta FTP è stata
eseguita.
Le opzioni seguenti richiedono un descrittore a file che è ottenuto usando
la funzione fopen():