Einführung in das Konzept und Anwendungsbeispiele der PHP-Funktion „curl_setopt'.

怪我咯
Freigeben: 2023-03-07 19:32:02
Original
1608 Leute haben es durchsucht

Was macht die PHP-Funktion „curl_setopt“?

Die Funktion „curl_setopt“ ist eine wichtige Funktion in PHP. Sie wird zum Festlegen einer cURL-Übertragungsoption verwendet. Wie ist es also aufgebaut? Was sind die Parameter? Der Hauptzweck dieses Artikels besteht darin, Ihnen eine detaillierte Einführung in die Funktion

der Funktion curl_setopt in PHP zu geben.

Erster Blick auf die Syntaxbeschreibung

bool curl_setopt ( resource $ch , int $option , mixed $value )
Nach dem Login kopieren

Parameterdetails:

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 Option festgelegt wird.

PS: Beachten Sie hier, dass der Wert gemäß den von der Option ausgewählten Parametern wie folgt eingestellt wird

Für die optionalen Parameter des Bei den folgenden Optionen sollte der Wert auf einen Wert vom Typ „Bool“ gesetzt werden:



Für die optionalen Parameter der folgenden Optionen sollte der Wert auf einen ganzzahligen Wert eingestellt werden:

OptionenOptionalWertWertBemerkungen
CURLOPT_AUTOREFERERBei der Weiterleitung basierend auf Standort: werden automatisch die Referer:-Informationen in der Kopfzeile festgelegt.
CURLOPT_BINARYTRANSFERWenn CURLOPT_RETURNTRANSFER aktiviert ist, wird das native ( Raw zurückgegeben ) Ausgabe.
CURLOPT_COOKIESESSIONWenn aktiviert, übergibt Curl nur ein Sitzungscookie und ignoriert andere Cookies Standard In diesem Fall 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, werden Unix-Zeilenvorschübe in Wagenrücklauf-Zeilenvorschübe umgewandelt.
CURLOPT_DNS_USE_GLOBAL_CACHEWenn aktiviert, wird ein globaler DNS-Cache aktiviert. sicher und ist standardmäßig aktiviert.
CURLOPT_FAILONERRORZeigt den HTTP-Statuscode an. Das Standardverhalten besteht darin, HTTP-Nachrichten mit Zahlen zu ignorieren kleiner oder gleich 400 .
CURLOPT_FILETIMEWenn aktiviert, wird versucht, Informationen im Remote-Dokument zu ändern. Die Ergebnisinformationen werden über die Option CURLINFO_FILETIME der Funktion curl_getinfo() zurückgegeben. curl_getinfo().
CURLOPT_FOLLOWLOCATIONWenn aktiviert, gibt der Server " Standort zurück : „ wird im Header platziert und rekursiv an den Server zurückgegeben. Verwenden Sie CURLOPT_MAXREDIRS, um die Anzahl der rekursiven Rückgaben zu begrenzen.
CURLOPT_FORBID_REUSENach Abschluss der Interaktion wird die Verbindung zwangsweise getrennt und kann nicht wiederverwendet werden.
CURLOPT_FRESH_CONNECTErzwingen Sie eine neue Verbindung, um die im Cache zu ersetzen.
CURLOPT_FTP_USE_EPRTWenn aktiviert, verwenden Sie beim FTP-Download den Befehl EPRT (oder LPRT). Deaktivieren Sie EPRT und LPRT, wenn sie auf FALSE eingestellt sind. Verwenden Sie dazu den Befehl PORT Nur.
CURLOPT_FTP_USE_EPSVWenn aktiviert, zuerst, bevor Sie während der FTP-Übertragung in den PASV-Modus zurückkehren. Versuchen Sie es EPSV-Befehl. Deaktiviert den EPSV-Befehl, wenn er auf FALSE gesetzt ist.
CURLOPT_FTPAPPENDWenn aktiviert, wird „Anhängen“ in die Datei geschrieben, anstatt sie zu überschreiben. Alias ​​​​für
CURLOPT_FTPASCIICURLOPT_TRANSFERTEXT.
CURLOPT_FTPLISTONLYWenn aktiviert, wird nur der Name des FTP-Verzeichnisses aufgelistet.
CURLOPT_HEADERWenn aktiviert, werden die Header-Dateiinformationen als Datenstrom ausgegeben.
CURLINFO_HEADER_OUTDie Anforderungszeichenfolge für das Tracking-Handle, wenn aktiviert. Verfügbar ab PHP 5.1.3. CURLINFO_Das Präfix ist beabsichtigt.
CURLOPT_HTTPGETWenn diese Option aktiviert ist, wird die HTTP-Methode auf GET gesetzt und wird nur verwendet, wenn dies der Fall ist geändert.
CURLOPT_HTTPPROXYTUNNELWenn aktiviert, wird es über einen HTTP-Proxy übertragen.
CURLOPT_MUTEWenn aktiviert, werden alle geänderten Parameter in der cURL-Funktion auf ihre Standardwerte zurückgesetzt Werte.
CURLOPT_NETRCNachdem die Verbindung hergestellt wurde, greifen Sie auf die Datei zu, um den Benutzernamen und das Passwort zu erhalten um eine Verbindung zur Remote-Site herzustellen.
CURLOPT_NOBODYWenn aktiviert, wird der BODY-Teil in HTML nicht ausgegeben.
CURLOPT_NOPROGRESS

Schließen Sie den Fortschrittsbalken der Curl-Übertragung, wenn diese aktiviert ist, die Standardeinstellung für Dieses Element auf „Aktiviert“ setzen.

Hinweis:

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


CURLOPT_NOSIGNALWenn aktiviert, ignorieren Sie alle Curl-Übergaben an das PHP-Signal . Dieses Element ist während der SAPI-Multithread-Übertragung standardmäßig aktiviert. cURL wurde in 7.10 hinzugefügt.
CURLOPT_POSTWenn aktiviert, wird eine reguläre POST-Anfrage gesendet, vom Typ: application/x-www-form- urlencodiert , genau wie Formularübermittlung.
CURLOPT_PUT ermöglicht HTTP das Senden von Dateien, wenn aktiviert, und muss außerdem CURLOPT_INFILE festlegen und CURLOPT_INFILESIZE.
CURLOPT_RETURNTRANSFERGibt stattdessen die von curl_exec() erhaltenen Informationen in Form eines Dateistreams zurück der Direktausgabe.
CURLOPT_SSL_VERIFYPEERWenn deaktiviert, beendet cURL die Überprüfung vom Server. Verwenden Sie die Option CURLOPT_CAINFO, um das Zertifikat festzulegen. Verwenden Sie die Option CURLOPT_CAPATH, um das Zertifikatverzeichnis festzulegen.           Wenn CURLOPT_SSL_VERIFYPEER (Standardwert ist 2) aktiviert ist, muss CURLOPT_SSL_VERIFYHOST auf TRUE gesetzt werden, andernfalls auf FALSE. ist seit cURL 7.10 standardmäßig TRUE. Ab cURL 7.10 ist die Bundle-Installation standardmäßig vorgesehen.
CURLOPT_TRANSFERTEXT Verwenden Sie den ASCII-Modus für FTP-Übertragungen, wenn aktiviert. Bei LDAP werden reine Textinformationen anstelle von HTML abgerufen. Auf Windows-Systemen setzt das System STDOUT nicht auf den Binärmodus.
CURLOPT_UNRESTRICTED_AUTHMehrere Header generiert mit CURLOPT_FOLLOWLOCATION Benutzername und Passwortinformationen werden fortgesetzt an Standorte angehängt werden, auch wenn sich der Domänenname geändert hat.
CURLOPT_UPLOADAktivieren, um Datei-Uploads zuzulassen.
CURLOPT_VERBOSEWenn aktiviert, werden alle Informationen gemeldet und in STDERR< gespeichert 🎜 > oder das angegebene CURLOPT_STDERR.
CURLOPT_PROTOCOLSCURLPROTO_*CURLOPT_PROXYAUTHCURLAUTH_BASICCURLOPT_PROXYPORTLegen Sie die maximale Anzahl von Sekunden fest, die cURL ausführen darf. Legt die maximale Anzahl von Millisekunden fest, die cURL ausführen darf. wurde in cURL 7.16.2 hinzugefügt. Verfügbar ab PHP 5.2.3. Legen Sie einen Zeitstempel fest, der von



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

OptionenOptionalWertWertBemerkungen
CURLOPT_BUFFERSIZEDie Größe des Caches, der jedes Mal in die erhaltenen Daten eingelesen wird. Es gibt jedoch keine Garantie dafür, dass dieser Wert jedes Mal gefüllt wird. wurde in cURL 7.10 hinzugefügt.
CURLOPT_CLOSEPOLICYEntweder CURLCLOSEPOLICY_LEAST_RECENTLY_USED oder CURLCLOSEPOLICY_OLDEST, aber cURL unterstützt sie noch nicht.
CURLOPT_CONNECTTIMEOUTDie Wartezeit, bevor eine Verbindung hergestellt wird warte auf unbestimmte Zeit.
CURLOPT_CONNECTTIMEOUT_MSDie Wartezeit in Millisekunden auf einen Verbindungsversuch. Wenn auf 0 gesetzt, unendlich warten. wurde in cURL 7.16.2 hinzugefügt. Verfügbar ab PHP 5.2.3.
CURLOPT_DNS_CACHE_TIMEOUTLegen Sie die Zeit zum Speichern von DNS-Informationen im Speicher fest. Der Standardwert beträgt 120 Sekunden.
CURLOPT_FTPSSLAUTHFTP-Überprüfungsmethode: CURLFTPAUTH_SSL (versuchen Sie es zuerst mit SSL) , CURLFTPAUTH_TLS (versuchen Sie es zuerst mit TLS) oder CURLFTPAUTH_DEFAULT (cURL automatisch entscheiden lassen). wurde in cURL 7.12.2 hinzugefügt.
CURLOPT_HTTP_VERSIONCURL_HTTP_VERSION_NONE (Standardwert, lassen Sie cURL entscheiden, welche Version verwendet werden soll), CURL_HTTP_VERSION_1_0 (HTTP/1.0 erzwingen) oder CURL_HTTP_VERSION_1_1 (HTTP/1.1 erzwingen).
CURLOPT_INFILESIZELegen Sie die Größenbeschränkung der hochgeladenen Dateien in Bytes fest.
CURLOPT_LOW_SPEED_LIMITWenn die Übertragungsgeschwindigkeit weniger als CURLOPT_LOW_SPEED_LIMIT (Bytes) beträgt /sec ), verwendet PHP CURLOPT_LOW_SPEED_TIME, um zu bestimmen, ob die Übertragung abgebrochen werden soll, weil sie zu langsam ist.
CURLOPT_LOW_SPEED_TIMEWenn die Übertragungsgeschwindigkeit weniger als CURLOPT_LOW_SPEED_LIMIT (Bytes) beträgt /sec ), verwendet PHP CURLOPT_LOW_SPEED_TIME, um zu bestimmen, ob die Übertragung abgebrochen werden soll, weil sie zu langsam ist.
CURLOPT_MAXCONNECTSDie maximal zulässige Anzahl von Verbindungen, falls überschritten, CURLOPT_CLOSEPOLICY Entscheiden Sie, welche Verbindungen gestoppt werden sollen.
CURLOPT_MAXREDIRSGibt die maximale Anzahl von HTTP-Weiterleitungen an. Diese Option ist dieselbe wie Wird zusammen mit CURLOPT_FOLLOWLOCATION verwendet.
CURLOPT_PORT wird verwendet, um den Verbindungsport anzugeben. (Optional)
CURLOPT_PROTOCOLSBitfeldzeiger für CURLPROTO_* . Wenn diese Option aktiviert ist, begrenzt der Bitfeldwert, welche Protokolle libcurl während Übertragungen verwenden kann. Auf diese Weise können Sie libcurl so kompilieren, dass es ein breites Spektrum an Protokollen unterstützt, sich jedoch darauf beschränken, nur eine Teilmenge davon zu verwenden, die verwendet werden darf. Standardmäßig verwendet libcurl alle unterstützten Protokolle. Siehe CURLOPT_REDIR_PROTOCOLS LE, CURLPROTO_TFTP, CURLPROTO_ALL in cURL 7.19 wurde hinzugefügt. Die Bitfelder von
. Wenn diese Option aktiviert ist, begrenzt der Bitfeldwert, welche Protokolle libcurl während Übertragungen verwenden kann. Auf diese Weise können Sie libcurl so kompilieren, dass es ein breites Spektrum an Protokollen unterstützt, sich jedoch darauf beschränken, nur eine Teilmenge davon zu verwenden, die verwendet werden darf. Standardmäßig verwendet libcurl alle unterstützten Protokolle. Siehe CURLOPT_REDIR_PROTOCOLS LE, CURLPROTO_TFTP, CURLPROTO_ALL in cURL 7.19 wurde hinzugefügt.
Überprüfungsmethode für HTTP-Proxy-Verbindung. Verwenden Sie die Bitfeld-Flags in CURLOPT_HTTPAUTH, um die entsprechenden Optionen festzulegen. Für die Proxy-Authentifizierung werden derzeit nur und CURLAUTH_NTLM unterstützt. wurde in cURL 7.10.7 hinzugefügt.
Der Port des Proxyservers. Der Port kann auch in CURLOPT_PROXY eingestellt werden.
CURLOPT_PROXYTYPE ist entweder CURLPROXY_HTTP (Standard) oder CURLPROXY_SOCKS5. wurde in cURL 7.10 hinzugefügt. Der Bitfeldwert in
CURLOPT_REDIR_PROTOCOLSCURLPROTO_*. 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. wurde in cURL 7.19.4 hinzugefügt.
CURLOPT_RESUME_FROMÜbergeben Sie bei der Wiederaufnahme der Übertragung einen Byte-Offset (wird für die Wiederaufnahme der Übertragung verwendet).
CURLOPT_SSL_VERIFYHOST1 Ü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_SSLVERSIONDie 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_TIMECONDITIONWenn nach einer bestimmten Zeit, die durch CURLOPT_TIMEVALUE angegeben wird wurde bearbeitet, verwenden Sie CURL_TIMECOND_IFMODSINCE, um zur Seite zurückzukehren. Wenn es nicht geändert wurde und CURLOPT_HEADER wahr ist, wird ein „304 Not Modified“-Header angezeigt zurückgegeben. < Wenn 🎜>CURLOPT_HEADER falsch ist, verwenden Sie CURL_TIMECOND_IFUNMODSINCE und der Standardwert ist CURL_TIMECOND_IFUNMODSINCE.
CURLOPT_TIMEOUT
CURLOPT_TIMEOUT_MS
CURLOPT_TIMEVALUECURLOPT_TIMECONDITION verwendet wird. Standardmäßig wird CURL_TIMECOND_IFMODSINCE verwendet .
CURLOPT_SSL_VERIFYPEERCURLOPT_COOKIE"Cookie: "“). Ersetzen Sie HEAD" als HTTP-Anfrage. Dies ist nützlich für die Ausführung von "DELETE""POST"Übergeben Sie den für eine Verbindung erforderlichen Benutzernamen und das Passwort im Format:
OptionenOptionalWertWertBemerkungen
CURLOPT_CAINFOEin Dateiname, der ein oder mehrere Zertifikate zur Serverüberprüfung enthält. Dieser Parameter ist nur sinnvoll, wenn er mit CURLOPT_SSL_VERIFYPEER verwendet wird. . Diese Option wird mit verwendet.
Legen Sie den Teil des HTTP fest Inhalte anfordern. Mehrere Cookies werden durch ein Semikolon gefolgt von einem Leerzeichen getrennt (z. B. „
Frucht=Apfel; Farbe=Rot
CURLOPT_COOKIEFILEDer Name der Datei, die Cookie-Daten enthält im Netscape-Format sein oder einfach die reinen HTTP-Header-Informationen in der Datei speichern.
CURLOPT_COOKIEJAREine Datei, die Cookie-Informationen speichert, nachdem die Verbindung beendet ist.
CURLOPT_CUSTOMREQUEST durch eine benutzerdefinierte Anforderungsnachricht GET"
oder
oder anderen verdeckteren HTTP-Anfragen. Zu den gültigen Werten gehören "GET", ,

"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 Ähnlich wie CURLOPT_RANDOM_FILE, außer einem Entropy Gathering Daemon-Socket.
CURLOPT_ENCODINGHTTP-Anfrageheader "Accept-Encoding: " Wert . Unterstützte Kodierungen sind "identity", "deflate" und "gzip". Wenn es sich um eine leere Zeichenfolge "" handelt, sendet der Anforderungsheader alle unterstützten Kodierungstypen. wurde in cURL 7.10 hinzugefügt.
CURLOPT_FTPPORTDieser 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_INTERFACEDer Netzwerk-Sendeschnittstellenname, der ein Schnittstellenname, eine IP-Adresse oder sein kann ein Hostname.
CURLOPT_KRB4LEVELKRB4 (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-Sicherheitsauthentifizierung nur für die FTP-Übertragung verwendet werden.
CURLOPT_POSTFIELDSAlle 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 über ein Array mit dem Feldnamen als Schlüssel und den Felddaten als Wert übergeben werden. Wenn value ein Array ist, wird der Header Content-Type auf multipart/form-data gesetzt.
CURLOPT_PROXYHTTP-Proxy-Kanal.
CURLOPT_PROXYUSERPWDA "[Benutzername]:[ Passwort]" Formatzeichenfolge.
CURLOPT_RANDOM_FILEEin Dateiname, der zum Generieren von SSL-Zufallszahlen-Seeds verwendet wird.
CURLOPT_RANGE in der Form "X-Y", wobei X und Y ist der Bereich der erhaltenen optionalen Daten, gemessen in Bytes. Der HTTP-Übertragungsthread unterstützt auch mehrere solcher Duplikate, die durch Kommas getrennt sind, z. B. "X-Y,N-M".
CURLOPT_REFERERIm HTTP-Request-Header "Referer: " Inhalt .
CURLOPT_SSL_CIPHER_LISTEine Liste von SSL-Verschlüsselungsalgorithmen. Beispielsweise sind RC4-SHA und TLSv1 beide verfügbare Verschlüsselungslisten.
CURLOPT_SSLCERTEin Dateiname, der ein Zertifikat im PEM-Format enthält.
CURLOPT_SSLCERTPASSWDPasswort erforderlich, um das CURLOPT_SSLCERT-Zertifikat zu verwenden.
CURLOPT_SSLCERTTYPEDer Typ des Zertifikats. Unterstützte Formate sind "PEM" (Standard), "DER" und "ENG". wurde in cURL 7.9.3 hinzugefügt.
CURLOPT_SSLENGINEKrypto-Engine-Variable, die für den in CURLOPT_SSLKEY angegebenen privaten SSL-Schlüssel verwendet wird.
CURLOPT_SSLENGINE_DEFAULTVariable, die für asymmetrische Verschlüsselungsvorgänge verwendet wird.
CURLOPT_SSLKEYDer Name der Datei, die den privaten SSL-Schlüssel enthält.
CURLOPT_SSLKEYPASSWD

SSL angegeben in CURLOPT_SSLKEY Das Passwort für der private Schlüssel.

Hinweis:

Da diese Option vertrauliche Passwortinformationen enthält, denken Sie daran, dieses PHP-Skript sicher aufzubewahren.


CURLOPT_SSLKEYTYPECURLOPT_SSLKEY Der Verschlüsselungstyp des privaten Schlüssels. Die unterstützten Schlüsseltypen sind "PEM"(Standardwert), "DER" und "ENG".
CURLOPT_URLDie URL-Adresse, die abgerufen werden muss, kann auch in abgerufen werden curl_init()In Funktion setzen.
CURLOPT_USERAGENTFügen Sie einen "User-Agent: "< in die HTTP-Anfrage ein 🎜>Header-Zeichenfolge.
CURLOPT_USERPWD „[Benutzername]:[Passwort]“.



Für diese Optionen unten optional Parameter, Wert sollte auf ein Array festgelegt werden:

Options can Select< em class="reset">value

Value
Remarks
选项可选value备注
CURLOPT_HTTP200ALIASES200响应码数组,数组中的响应吗被认为是正确的响应,否则被认为是错误的。在cURL 7.10.3中被加入。
CURLOPT_HTTPHEADER一个用来设置HTTP头字段的数组。使用如下的形式的数组进行设置: array('Content-type: text/plain', 'Content-length: 100')
CURLOPT_POSTQUOTE在FTP请求执行完成后,在服务器上执行的一组FTP命令。
CURLOPT_QUOTE一组先于FTP请求的在服务器上执行的FTP命令。
<🎜><🎜><🎜> CURLOPT_HTTP200ALIASES< 🎜><🎜><🎜>200 Antwortcode-Array, die Antwort im Array wird als korrekte Antwort betrachtet, andernfalls wird sie als Fehler betrachtet. <🎜><🎜> wurde in cURL 7.10.3 hinzugefügt. <🎜><🎜><🎜><🎜><🎜>CURLOPT_HTTPHEADER<🎜><🎜><🎜>Ein Array, das zum Festlegen von HTTP-Headerfeldern verwendet wird. Verwenden Sie zum Festlegen ein Array der folgenden Form: array('Content-type: text/plain', 'Content-length: 100')<🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜>CURLOPT_POSTQUOTE<🎜><🎜 ><🎜>Eine Reihe von FTP-Befehlen, die auf dem Server ausgeführt werden, nachdem die FTP-Anfrage ausgeführt wurde. <🎜><🎜><🎜><🎜><🎜><🎜><🎜><🎜>CURLOPT_QUOTE<🎜><🎜><🎜>Eine Reihe von FTP-Befehlen, die vor der FTP-Anfrage auf dem Server ausgeführt werden sollen. <🎜><🎜><🎜><🎜><🎜><🎜><🎜>


对于下面的这些option的可选参数,value应该被设置一个流资源 (例如使用fopen()):

选项可选value
CURLOPT_FILE设置输出文件的位置,值是一个资源类型,默认为STDOUT (浏览器)。
CURLOPT_INFILE在上传文件的时候需要读取的文件地址,值是一个资源类型。
CURLOPT_STDERR设置一个错误输出地址,值是一个资源类型,取代默认的STDERR
CURLOPT_WRITEHEADER设置header部分内容的写入的文件地址,值是一个资源类型。


对于下面的这些option的可选参数,value应该被设置为一个回调函数名:

选项可选value
CURLOPT_HEADERFUNCTION设置一个回调函数,这个函数有两个参数,第一个是cURL的资源句柄,第二个是输出的header数据。header数据的输出必须依赖这个函数,返回已写入的数据大小。
CURLOPT_PASSWDFUNCTION设置一个回调函数,有三个参数,第一个是cURL的资源句柄,第二个是一个密码提示符,第三个参数是密码长度允许的最大值。返回密码的值。
CURLOPT_PROGRESSFUNCTION设置一个回调函数,有三个参数,第一个是cURL的资源句柄,第二个是一个文件描述符资源,第三个是长度。返回包含的数据。
CURLOPT_READFUNCTION回调函数名。该函数应接受三个参数。第一个是 cURL resource;第二个是通过选项 CURLOPT_INFILE 传给 cURL 的 stream resource;第三个参数是最大可以读取的数据的数量。回 调函数必须返回一个字符串,长度小于或等于请求的数据量(第三个参数)。一般从传入的 stream resource 读取。返回空字符串作为 EOF(文件结束) 信号。
CURLOPT_WRITEFUNCTION回调函数名。该函数应接受两个参数。第一个是 cURL resource;第二个是要写入的数据字符串。数 据必须在函数中被保存。函数必须返回准确的传入的要写入数据的字节数,否则传输会被一个错误所中 断。

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE。

实例

初始化一个新的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);
?>
Nach dem Login kopieren


上传文件实例:

<?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);
?>
Nach dem Login kopieren

以上实例输出结果如下:

Einführung in das Konzept und Anwendungsbeispiele der PHP-Funktion „curl_setopt.

注释

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

【相关文章推荐】

PHP curl_exec函数的用法实例详解

Das obige ist der detaillierte Inhalt vonEinführung in das Konzept und Anwendungsbeispiele der PHP-Funktion „curl_setopt'.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage