curl_setopt – Legen Sie eine cURL-Übertragungsoption fest.


Beschreibung

bool curl_setopt ( resource $ch , int $option , mixed $value )

Legt eine Option für das angegebene cURL-Sitzungshandle fest.


Parameter

ch

Das von curl_init() zurückgegebene cURL-Handle.

option

CURLOPT_XXX Optionen, die festgelegt werden müssen.

Wert

Der Wert, der für die Optionsoption festgelegt wird.

Für die optionalen Parameter der folgenden Optionen sollte value auf einen Wert vom Typ Bool gesetzt werden:

FALSECURLOPT_FTPAPPENDCURLOPT_TRANSFERTEXTCURLOPT_FTPLISTONLYDas Präfix ist beabsichtigt. Wenn aktiviert, wird die HTTP-Methode auf GET gesetzt, da GET die Standardeinstellung ist und daher nur verwendet wird, wenn sie geändert wird.
Optionen OptionalWertWert Bemerkungen
CURLOPT_AUTOREFERER Wird bei der Umleitung basierend auf Standort automatisch im Header festgelegt: Referer:Informationen.
CURLOPT_BINARYTRANSFER Gibt die Rohausgabe (Raw) zurück, wenn CURLOPT_RETURNTRANSFER aktiviert ist.
CURLOPT_COOKIESESSION Wenn aktiviert, übergibt Curl nur ein Sitzungscookie und ignoriert andere Cookies. Standardmäßig gibt cURL alle Cookies an den Server zurück. Unter Sitzungscookies versteht man Cookies, die verwendet werden, um festzustellen, ob die serverseitige Sitzung gültig ist.
CURLOPT_CRLF Wenn aktiviert, konvertieren Sie Unix-Zeilenvorschübe in Wagenrückläufe und Zeilenvorschübe.
CURLOPT_DNS_USE_GLOBAL_CACHE Wenn aktiviert, ist ein globaler DNS-Cache aktiviert und standardmäßig aktiviert.
CURLOPT_FAILONERROR Zeigt den HTTP-Statuscode an. Das Standardverhalten besteht darin, HTTP-Nachrichten mit Nummern kleiner oder gleich 400 zu ignorieren.
CURLOPT_FILETIME Wenn aktiviert, wird versucht, die Informationen im Remote-Dokument zu ändern. Die Ergebnisinformationen werden über die Option CURLINFO_FILETIME der Funktion curl_getinfo() zurückgegeben. curl_getinfo().
CURLOPT_FOLLOWLOCATION Wenn aktiviert, wird der vom Server zurückgegebene "Standort: "" im Header platziert und rekursiv an den Server zurückgegeben. Verwenden Sie CURLOPT_MAXREDIRS, um Grenze die Anzahl der rekursiven Rückgaben.
CURLOPT_FORBID_REUSE Nach Abschluss der Interaktion wird die Verbindung zwangsweise getrennt und kann nicht wiederverwendet werden.
CURLOPT_FRESH_CONNECT Erzwingen, eine neue Verbindung herzustellen und die im Cache zu ersetzen.
CURLOPT_FTP_USE_EPRT Wenn aktiviert, verwenden Sie beim FTP-Download den Befehl EPRT (oder LPRT). Deaktivieren Sie EPRT und LPRT, wenn diese auf FALSE eingestellt sind, und verwenden Sie den Befehl PORT ​​​​​​​​​​​​​​​​​​​​​​​​​​Deaktiviert EPSV-Befehle, wenn diese auf gesetzt sind.
Wenn aktiviert, wird „Anhängen“ in die Datei geschrieben, anstatt sie zu überschreiben. Alias ​​​​für
CURLOPT_FTPASCII .
Wenn aktiviert, wird nur der Name des FTP-Verzeichnisses aufgelistet.
CURLOPT_HEADER Wenn aktiviert, werden die Header-Dateiinformationen als Datenstrom ausgegeben.
CURLINFO_HEADER_OUT Anforderungszeichenfolge für Tracking-Handles, wenn aktiviert. Verfügbar ab PHP 5.1.3.
CURLINFO_
CURLOPT_HTTPGET
CURLOPT_HTTPPROXYTUNNEL Wenn aktiviert, wird es über einen HTTP-Proxy übertragen.
CURLOPT_MUTE Wenn aktiviert, werden alle geänderten Parameter in der cURL-Funktion auf ihre Standardwerte zurückgesetzt.
CURLOPT_NETRC Nachdem die Verbindung hergestellt wurde, greifen Sie auf die Datei ~/.netrc zu, um den Benutzernamen und das Passwort für die Verbindung mit der Remote-Site zu erhalten.
CURLOPT_NOBODY Wenn aktiviert, wird der BODY-Teil in HTML nicht ausgegeben.
CURLOPT_NOPROGRESS

Schließen Sie den Fortschrittsbalken der Curl-Übertragung, wenn diese aktiviert ist.

Hinweis:

PHP setzt diese Option automatisch auf TRUE, diese Option sollte nur zu Debugging-Zwecken geändert werden.


CURLOPT_NOSIGNAL Wenn aktiviert, ignorieren Sie alle Signale, die von Curl an PHP übergeben werden. Dieses Element ist während der SAPI-Multithread-Übertragung standardmäßig aktiviert. cURL wurde in 7.10 hinzugefügt.
CURLOPT_POST Wenn aktiviert, wird eine reguläre POST-Anfrage vom Typ: application/x-www-form-urlencoded gesendet, genau wie eine Formularübermittlung.
CURLOPT_PUT ermöglicht HTTP das Senden von Dateien, wenn es aktiviert ist. Sowohl CURLOPT_INFILE als auch CURLOPT_INFILESIZE müssen festgelegt sein.
CURLOPT_RETURNTRANSFER Gibt die von curl_exec() erhaltenen Informationen in Form eines Dateistreams zurück, anstatt sie direkt auszugeben.
CURLOPT_SSL_VERIFYPEER Nach dem Deaktivieren von cURL wird die serverseitige Überprüfung beendet. Legen Sie das Zertifikat mit der Option CURLOPT_CAINFO fest. Legen Sie das Zertifikatverzeichnis mit der Option CURLOPT_CAPATH fest. ​ ​ ​ ​ Wenn CURLOPT_SSL_VERIFYPEER (Standardwert ist 2) aktiviert ist, muss CURLOPT_SSL_VERIFYHOST auf TRUE gesetzt werden, andernfalls auf FALSE. Standardmäßig ist TRUE seit cURL 7.10. Ab cURL 7.10 ist die Bundle-Installation standardmäßig vorgesehen.
CURLOPT_TRANSFERTEXT Aktivieren Sie die Verwendung des ASCII-Modus für FTP-Übertragungen. Bei LDAP werden reine Textinformationen anstelle von HTML abgerufen. Auf Windows-Systemen setzt das System STDOUT nicht auf den Binärmodus.
CURLOPT_UNRESTRICTED_AUTH Fügen Sie Benutzernamen- und Passwortinformationen kontinuierlich an mehrere Stellen im mit CURLOPT_FOLLOWLOCATION generierten Header hinzu, auch wenn sich der Domainname geändert hat.
CURLOPT_UPLOAD ermöglicht Datei-Uploads, wenn aktiviert.
CURLOPT_VERBOSE Wenn aktiviert, werden alle Informationen gemeldet und in STDERR oder dem angegebenen CURLOPT_STDERR gespeichert.

Für die optionalen Parameter der folgenden Optionen sollte der Wert auf einen Wert vom Typ Ganzzahl gesetzt werden:

Hinzugefügt in cURL 7.10. CURLOPT_CLOSEPOLICYCURLOPT_CONNECTTIMEOUTCURLOPT_CONNECTTIMEOUT_MSCURLOPT_DNS_CACHE_TIMEOUT (cURL automatisch entscheiden lassen). Hinzugefügt in cURL 7.12.2. ? 1_1 (Obligatorisch für die Verwendung von HTTP/1.1). Legen Sie die Größenbeschränkung der hochgeladenen Dateien in Bytes fest. CURLOPT_LOW_SPEED_LIMITCURLOPT_LOW_SPEED_TIME und bricht die Übertragung ab . (Byte/Sek.) beträgt, beurteilt PHP anhand von CURLOPT_CLOSEPOLICY verwendet, um zu bestimmen, welche Verbindungen gestoppt werden sollen. Gibt die maximale Anzahl von HTTP-Weiterleitungen an. Diese Option wird zusammen mit . Verfügbare Protokolloptionen sind: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURL PROTO _TFTP, CURLPROTO_ALLCURLOPT_REDIR_PROTOCOLS wurden in cURL 7.19.4 hinzugefügt. Überprüfungsmethode für HTTP-Proxy-Verbindung. Verwenden Sie die Bitfeld-Flags in CURLAUTH_BASIC und CURLAUTH_NTLMCURLOPT_PROXY eingestellt werden.
Optionen Optionaler WertWert Der Wert wird ausgefüllt jedes Mal.
Es ist entweder CURLCLOSEPOLICY_LEAST_RECENTLY_USED oder CURLCLOSEPOLICY_OLDEST. Es gibt drei weitere CURLCLOSEPOLICYs, aber cURL unterstützt sie noch nicht.
Die Zeit, die vor dem Herstellen einer Verbindung gewartet werden muss. Wenn der Wert auf 0 eingestellt ist, wird auf unbestimmte Zeit gewartet.
Die Zeit, die auf einen Verbindungsversuch gewartet wird, in Millisekunden. Wenn auf 0 gesetzt, unendlich warten. Hinzugefügt in cURL 7.16.2. Verfügbar ab PHP 5.2.3.
Stellen Sie die Zeit zum Speichern von DNS-Informationen im Speicher ein. Der Standardwert beträgt 120 Sekunden. ... ULT

CURLOPT_INFILESIZE
CURLOPT_LOW_SPEED_LIMITWenn die Übertragungsgeschwindigkeit weniger als (Byte/Sek.) beträgt, beurteilt PHP anhand von
CURLOPT_LOW_SPEED_TIMEWenn die Übertragungsgeschwindigkeit weniger als CURLOPT_LOW_SPEED_LIMITCURLOPT_LOW_SPEED_TIME
, ob sie zu langsam ist, und bricht die Übertragung ab.
CURLOPT_MAXCONNECTS
Die maximal zulässige Anzahl von Verbindungen. Bei Überschreitung wird
CURLOPT_MAXREDIRS CURLOPT_FOLLOWLOCATION
verwendet.
CURLOPT_PORT wird verwendet, um den Verbindungsport anzugeben. (Optional)
CURLOPT_PROTOCOLS CURLPROTO_* Bitfeldreferenz. Wenn diese Option aktiviert ist, begrenzt der Bitfeldwert, welche Protokolle libcurl während Übertragungen verwenden kann. Dadurch können Sie libcurl mit Unterstützung für viele Protokolle kompilieren, sind jedoch auf die Verwendung nur einer Teilmenge davon beschränkt, die verwendet werden darf. Standardmäßig verwendet libcurl alle unterstützten Protokolle. Siehe CURLOPT_REDIR_PROTOCOLS
wurden in cURL 7.19.4 hinzugefügt. Das Bitfeld bezieht sich auf
CURLOPT_PROTOCOLS CURLPROTO_*. Wenn diese Option aktiviert ist, begrenzt der Bitfeldwert, welche Protokolle libcurl während Übertragungen verwenden kann. Dadurch können Sie libcurl mit Unterstützung für viele Protokolle kompilieren, sind jedoch auf die Verwendung nur einer Teilmenge davon beschränkt, die verwendet werden darf. Standardmäßig verwendet libcurl alle unterstützten Protokolle. Siehe . Verfügbare Protokolloptionen sind: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURL PROTO _TFTP, CURLPROTO_ALL
CURLOPT_PROXYAUTH CURLOPT_HTTPAUTH
, um die entsprechenden Optionen festzulegen. Für die Proxy-Authentifizierung werden derzeit nur
unterstützt. Hinzugefügt in cURL 7.10.7. CURLOPT_PROXYPORT Der Port des Proxyservers. Der Port kann auch in
CURLOPT_PROXYTYPE ist nicht CURLPROXY_HTTP (Standard) oder CURLPROXY_SOCKS5. Hinzugefügt in cURL 7.10. Bitfeldwert in
CURLOPT_REDIR_PROTOCOLS CURLPROTO_*. Wenn aktiviert, begrenzt der Bitfeldwert die Protokolle, die der Transportthread verwenden kann, wenn er einer Umleitung folgt, wenn CURLOPT_FOLLOWLOCATION aktiviert ist. Dadurch können Sie den Transportthread bei der Umleitung auf eine Teilmenge zulässiger Protokolle beschränken. Standardmäßig lässt libcurl alle Protokolle außer FILE und SCP zu. Dies unterscheidet sich geringfügig von der Vorabversion 7.19.4, die bedingungslos allen unterstützten Protokollen folgt. Informationen zu Protokollkonstanten finden Sie unter CURLOPT_PROTOCOLS. Hinzugefügt in cURL 7.19.4.
CURLOPT_RESUME_FROM Übergeben Sie bei der Wiederaufnahme der Übertragung einen Byte-Offset (wird für die Wiederaufnahme der Übertragung verwendet).
CURLOPT_SSL_VERIFYHOST 1 Überprüfen Sie, ob im Server-SSL-Zertifikat ein allgemeiner Name vorhanden ist. Anmerkung des Übersetzers: Unter Common Name versteht man im Allgemeinen das Ausfüllen des Domainnamens (Domain) oder der Subdomain (Subdomain), für die Sie ein SSL-Zertifikat beantragen möchten. 2 Überprüfen Sie, ob der allgemeine Name vorhanden ist und mit dem angegebenen Hostnamen übereinstimmt.
CURLOPT_SSLVERSION Die zu verwendende SSL-Version (2 oder 3). Standardmäßig erkennt PHP diesen Wert selbst, obwohl er in einigen Fällen möglicherweise manuell festgelegt werden muss.
CURLOPT_TIMECONDITION Verwenden Sie CURL_TIMECOND_IFMODSINCE, um zur Seite zurückzukehren, wenn sie nach einer bestimmten durch CURLOPT_TIMEVALUE festgelegten Zeit bearbeitet wurde, wenn sie nicht geändert wurde, und CUR LOPT_HEADER ist wahr , dann einen "304 Not Modified"-Header zurückgeben, wenn CURLOPT_HEADER falsch ist, verwenden Sie CURL_TIMECOND_IFUNMODSINCE, der Standardwert ist CURL_TIMECOND_IFUNMODSINCE.
CURLOPT_TIMEOUT Legen Sie die maximale Anzahl von Sekunden fest, die cURL ausführen darf.
CURLOPT_TIMEOUT_MS Legen Sie die maximale Anzahl von Millisekunden fest, die cURL ausführen darf. Hinzugefügt in cURL 7.16.2. Verfügbar ab PHP 5.2.3.
CURLOPT_TIMEVALUE Legen Sie einen Zeitstempel fest, der von CURLOPT_TIMECONDITION verwendet wird. Standardmäßig wird CURL_TIMECOND_IFMODSINCE verwendet.

Für die optionalen Parameter der folgenden Optionen sollte der Wert auf einen Zeichenfolgentypwert gesetzt werden:

. enthält einen Übergeben Sie den für eine Verbindung erforderlichen Benutzernamen und das Passwort im Format: optionalBemerkungen
option optionalvaluevalue Remarks
CURLOPT_CAINFO One Die Datei Name, der ein oder mehrere Zertifikate enthält, die zur Überprüfung durch den Server verwendet werden. Dieser Parameter ist nur bei Verwendung mit CURLOPT_SSL_VERIFYPEER von Bedeutung. ​ ​ ​ .
CURLOPT_CAPATH Ein Verzeichnis, das mehrere CA-Zertifikate enthält. Diese Option wird zusammen mit CURLOPT_SSL_VERIFYPEER verwendet.
CURLOPT_COOKIE Legen Sie den Inhalt des "Cookie: " Teils der HTTP-Anfrage fest. Mehrere Cookies werden durch ein Semikolon gefolgt von einem Leerzeichen getrennt (z. B. „Frucht=Apfel; Farbe=Rot“).
CURLOPT_COOKIEFILE Der Dateiname, der die Cookie-Daten enthält, kann das Netscape-Format sein oder es werden nur reine HTTP-Header-Informationen in der Datei gespeichert.
CURLOPT_COOKIEJAR Eine Datei, die Cookie-Informationen speichert, nachdem die Verbindung beendet ist.
CURLOPT_CUSTOMREQUEST

Verwenden Sie eine benutzerdefinierte Anforderungsnachricht anstelle von "GET" oder "HEAD" als HTTP-Anfrage. Dies ist nützlich, um "DELETE" oder andere verdecktere HTTP-Anfragen auszuführen. Zu den gültigen Werten gehören "GET", "POST", "CONNECT" usw. Das heißt, geben Sie hier nicht die gesamte HTTP-Anfrage ein. Beispielsweise ist die Eingabe von "GET /index.html HTTP/1.0rnrn" falsch.

Hinweis:

Verwenden Sie diese benutzerdefinierte Anforderungsmethode erst, wenn Sie sicher sind, dass der Server sie unterstützt.


CURLOPT_EGDSOCKET ähnelt CURLOPT_RANDOM_FILE, mit Ausnahme eines Entropy Gathering Daemon-Sockets.
CURLOPT_ENCODING Der Wert von "Accept-Encoding: " im HTTP-Anforderungsheader. Unterstützte Kodierungen sind "identity", "deflate" und "gzip". Wenn es sich um eine leere Zeichenfolge "" handelt, sendet der Anforderungsheader alle unterstützten Kodierungstypen. Hinzugefügt in cURL 7.10.
CURLOPT_FTPPORT Dieser Wert wird verwendet, um die IP-Adresse zu erhalten, die für den FTP-Befehl „POST“ erforderlich ist. Der Befehl „POST“ weist den Remote-Server an, eine Verbindung zu der von uns angegebenen IP-Adresse herzustellen. Diese Zeichenfolge kann eine Klartext-IP-Adresse, ein Hostname, ein Netzwerkschnittstellenname (unter UNIX) oder einfach ein „-“ sein, um die Standard-IP-Adresse zu verwenden.
CURLOPT_INTERFACE Der Netzwerk-Sendeschnittstellenname, der ein Schnittstellenname, eine IP-Adresse oder ein Hostname sein kann.
CURLOPT_KRB4LEVEL KRB4 (Kerberos 4) Sicherheitsstufe. Jeder der folgenden Werte ist gültig (in der Reihenfolge vom niedrigsten zum höchsten): "klar", "sicher", "vertraulich", "privat".. Wenn die Zeichenfolge mit keiner dieser Zeichenfolgen übereinstimmt, wird "private" verwendet. Wenn Sie diese Option auf NULL setzen, wird die KRB4-Sicherheitsauthentifizierung deaktiviert. Derzeit kann die KRB4-Sicherheitszertifizierung nur für FTP-Übertragungen verwendet werden.
CURLOPT_POSTFIELDS Alle Daten werden mit der Operation „POST“ im HTTP-Protokoll gesendet. Um eine Datei zu senden, stellen Sie dem Dateinamen @ voran und verwenden Sie den vollständigen Pfad. Dieser Parameter kann über eine URL-codierte Zeichenfolge wie „para1=val1¶2=val2&...“ oder ein Array mit dem Feldnamen als Schlüssel und den Felddaten als Wert übergeben werden. Wenn value ein Array ist, wird der Content-Type-Header auf multipart/form-data gesetzt.
CURLOPT_PROXY HTTP-Proxy-Kanal.
CURLOPT_PROXYUSERPWD Eine Zeichenfolge im Format "[Benutzername]:[Passwort]", die zum Herstellen einer Verbindung mit dem Proxy verwendet wird.
CURLOPT_RANDOM_FILE Ein Dateiname, der zum Generieren von SSL-Zufallszahlen-Seeds verwendet wird.
CURLOPT_RANGE in der Form "X-Y", wobei X und Y optional sind, um den Datenbereich in Bytes zu erhalten. Der HTTP-Übertragungsthread unterstützt auch mehrere solcher durch Kommas getrennten Duplikate wie "X-Y,N-M".
CURLOPT_REFERER Im HTTP-Request-Header "Referer: " Inhalt.
CURLOPT_SSL_CIPHER_LIST Eine Liste von SSL-Verschlüsselungsalgorithmen. Beispielsweise sind RC4-SHA und TLSv1 beide verfügbare Verschlüsselungslisten.
CURLOPT_SSLCERT Ein Dateiname, der ein Zertifikat im PEM-Format enthält.
CURLOPT_SSLCERTPASSWD Das Passwort, das zur Verwendung des CURLOPT_SSLCERTZertifikats erforderlich ist.
CURLOPT_SSLCERTTYPE Der Typ des Zertifikats. Unterstützte Formate sind "PEM" (Standard), "DER" und "ENG". Hinzugefügt in cURL 7.9.3.
CURLOPT_SSLENGINE Verschlüsselungs-Engine-Variable, die für den in CURLOPT_SSLKEY angegebenen privaten SSL-Schlüssel verwendet wird.
CURLOPT_SSLENGINE_DEFAULT Variable, die für asymmetrische Verschlüsselungsvorgänge verwendet wird.
CURLOPT_SSLKEY Der Name der Datei, die den privaten SSL-Schlüssel enthält.
CURLOPT_SSLKEYPASSWD

Das Passwort für den in CURLOPT_SSLKEY angegebenen privaten SSL-Schlüssel.

Hinweis:

Da diese Option vertrauliche Passwortinformationen enthält, denken Sie daran, dieses PHP-Skript sicher aufzubewahren. Der Verschlüsselungstyp des in „CURLOPT_SSLKEYTYPE“ angegebenen privaten Schlüssels. Die unterstützten Schlüsseltypen sind „PEM“ (Standardwert) und „DER“.

und
" ENG"

CURLOPT_URL Die URL-Adresse, die abgerufen werden muss, kann auch in der Funktion curl_init() festgelegt werden.
CURLOPT_USERAGENT
"User-Agent: " Header-String in der HTTP-Anfrage.
CURLOPT_USERPWD
"[Benutzername]:[Passwort]".
Für die optionalen Parameter der folgenden Optionen sollte der Wert auf ein Array gesetzt werden:
OptionWertWert

CURLOPT_HTTP200ALIASES

200 Antwortcode-Array, die Antwort im Array wird als korrekte Antwort betrachtet, andernfalls wird sie als Fehler betrachtet. CURLOPT_HTTPHEADEREin Array zum Festlegen von HTTP-Headerfeldern. Verwenden Sie zum Festlegen ein Array der folgenden Form:                         ​ ​ ​ ​ array('Content-type: text/plain', 'Content-length: 100')Ein Satz von FTP-Befehlen, die nach der FTP-Anfrage auf dem Server ausgeführt werden hingerichtet. CURLOPT_QUOTEEine Reihe von FTP-Befehlen, die vor der FTP-Anfrage auf dem Server ausgeführt werden.
Hinzugefügt in cURL 7.10.3.
CURLOPT_POSTQUOTE

Für die optionalen Parameter der folgenden Optionen sollte der Wert auf eine Stream-Ressource festgelegt werden (z. B. mit fopen()):

option optionalvaluevalue
CURLOPT_FILE Legen Sie den Speicherort der Ausgabedatei fest. Der Wert ist ein Ressourcentyp. Der Standardwert ist STDOUT (Browser).
CURLOPT_INFILE Die Dateiadresse, die beim Hochladen von Dateien gelesen werden muss. Der Wert ist ein Ressourcentyp.
CURLOPT_STDERR Legen Sie eine Fehlerausgabeadresse fest. Der Wert ist ein Ressourcentyp und ersetzt den Standardwert STDERR.
CURLOPT_WRITEHEADER Legen Sie die Dateiadresse fest, in die der Header-Teil geschrieben wird, und der Wert ist ein Ressourcentyp.

Für die optionalen Parameter der folgenden Optionen sollte der Wert auf einen Callback-Funktionsnamen gesetzt werden:

Option optional Wert Wert.
CURLOPT_HEADER FUNKTION Stellen Sie eine ein Rückruffunktion Diese Funktion verfügt über zwei Parameter. Der erste ist das cURL-Ressourcenhandle und der zweite sind die Ausgabeheaderdaten. Die Ausgabe von Header-Daten muss auf dieser Funktion basieren, die die Größe der geschriebenen Daten zurückgibt.
CURLOPT_PASSWDFUNCTION Legen Sie eine Rückruffunktion mit drei Parametern fest. Der erste ist das cURL-Ressourcenhandle, der zweite ist eine Passwortabfrage und der dritte Parameter ist die maximal zulässige Passwortlänge. Gibt den Wert des Passworts zurück.
CURLOPT_PROGRESSFUNCTION Legen Sie eine Rückruffunktion mit drei Parametern fest. Der erste ist das cURL-Ressourcenhandle, der zweite ist eine Dateideskriptorressource und der dritte ist die Länge. Gibt die enthaltenen Daten zurück.
CURLOPT_READFUNCTION Callback-Funktionsname. Diese Funktion sollte drei Parameter akzeptieren. Die erste ist eine cURL-Ressource; die zweite ist über Optionen CURLOPT_INFILE Stream-Ressource, die an cURL übergeben wird; der dritte Parameter ist die maximale Datenmenge, die gelesen werden kann. zurückkehren Die aufrufende Funktion muss eine Zeichenfolge zurückgeben, deren Länge kleiner oder gleich der angeforderten Datenmenge ist (der dritte Parameter). Im Allgemeinen aus dem eingehenden Stream Ressource gelesen. Gibt die leere Zeichenfolge als EOF-Signal (Ende der Datei) zurück.
CURLOPT_WRITEFUNCTION Callback-Funktionsname. Diese Funktion sollte zwei Parameter akzeptieren. Die erste ist die cURL-Ressource; die zweite ist die zu schreibende Datenzeichenfolge. Nummer Die Daten müssen innerhalb der Funktion gespeichert werden. Die Funktion muss die genaue Anzahl der zum Schreiben der Daten übergebenen Bytes zurückgeben, andernfalls kommt es bei der Übertragung zu einem Fehler brechen.

Rückgabewert

Gibt bei Erfolg TRUE und bei Misserfolg FALSE zurück.


Änderungsprotokoll

Version Beschreibung
5.2.10 EingeführtCURLOPT_PROTOCOLSCURLOPT_PROTOCOLS, and        CURLOPT_REDIR_PROTOCOLS.
5.1.0 引入 CURLOPT_AUTOREFERER,        CURLOPT_BINARYTRANSFER,        CURLOPT_FTPSSLAUTH,        CURLOPT_PROXYAUTH, and        CURLOPT_TIMECONDITION.
5.0.0 引入 CURLOPT_FTP_USE_EPRT,        CURLOPT_NOSIGNAL,        CURLOPT_UNRESTRICTED_AUTH,        CURLOPT_BUFFERSIZE,        CURLOPT_HTTPAUTH,        CURLOPT_PROXYPORT,        CURLOPT_PROXYTYPE,        CURLOPT_SSLCERTTYPE, and        CURLOPT_HTTP200ALIASES und CURLOPT_REDIR_PROTOCOLS</code.> </td>.</tr> 5.1.0 eingeführt PROXYAUTH code ></tbody>, und </table> <code>CURLOPT_TIMECONDITION🎜.🎜🎜🎜🎜🎜Eingeführt🎜CURLOPT_FTP_USE_EPRT🎜, 🎜CURLOPT_NOSIGNAL🎜, 🎜CURLOPT_UN RESTRICTED_AUTH🎜,                           ​ 🎜<code>CURLOPT_PROXYTYPE 🎜, 🎜CURLOPT_SSLCERTTYPE🎜, und 🎜🎜🎜

实例

初始化一个新的cURL会话并获取一个网页

<?php
// 创建一个新cURL资源
$ch = curl_init();

// 设置URL和相应的选项
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, false);

// 抓取URL并把它传递给浏览器
curl_exec($ch);

//关闭cURL资源,并且释放系统资源
curl_close($ch);
?>

上传文件实例:

<?php

/* http://localhost/upload.php:
print_r($_POST);
print_r($_FILES);
*/

$ch = curl_init();

$data = array(&#39;name&#39; => &#39;Foo&#39;, &#39;file&#39; => &#39;@/home/user/test.png&#39;);

curl_setopt($ch, CURLOPT_URL, &#39;http://localhost/upload.php&#39;);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);
?>

以上实例输出结果如下:

Array
(
    [name] => Foo
)
Array
(
    [file] => Array
        (
            [name] => test.png
            [type] => image/png
            [tmp_name] => /tmp/phpcpjNeQ
            [error] => 0
            [size] => 279
        )

)

注释

传递一个数组到CURLOPT_POSTFIELDS,cURL会把数据编码成 multipart/form-data,而然传递一个URL-encoded字符串时,数据会被编码成 application/x-www-form-urlencoded。

推荐学习:《PHP视频教程