Que fait la fonction php curl_setopt ?
La fonction curl_setopt est une fonction importante en php. Elle est utilisée pour définir une option de transmission cURL. Alors comment est-il mis en place ? Quels sont les paramètres ? L'objectif principal de cet article est de vous donner une introduction détaillée au
de la fonction curl_setopt en PHP.
Premier coup d'oeil à la description de la syntaxe
bool curl_setopt ( resource $ch , int $option , mixed $value )
Détails du paramètre :
ch
Le handle cURL renvoyé par curl_init().
option
CURLOPT_XXX options qui doivent être définies.
valeur
La valeur qui sera définie sur l'option option.
PS : Notez ici que la valeur est définie en fonction des paramètres sélectionnés par l'option, comme suit
Pour les paramètres optionnels du options suivantes, la valeur doit être définie sur une valeur de type booléen :
Options | FacultatifvaleurValeur | Remarques |
---|---|---|
CURLOPT_AUTOREFERER | Lors d'une redirection basée sur Location :, définissez automatiquement les informations Referer : dans l'en-tête. | |
CURLOPT_BINARYTRANSFER | Lorsque CURLOPT_RETURNTRANSFER est activé, renvoie le natif ( Raw ) sortir. | |
CURLOPT_COOKIESESSION | Lorsque activé, curl ne transmettra qu'un seul cookie de session et ignorera les autres cookies. par défaut Dans ce cas, cURL renverra tous les cookies au serveur. Les cookies de session font référence aux cookies utilisés pour déterminer si la session côté serveur est valide. | |
CURLOPT_CRLF | Lorsqu'il est activé, convertit les sauts de ligne Unix en sauts de ligne de retour chariot. | |
CURLOPT_DNS_USE_GLOBAL_CACHE | Lorsqu'il est activé, un cache DNS global sera activé. safe et est activé par défaut. | |
CURLOPT_FAILONERROR | Affiche le code d'état HTTP Le comportement par défaut est d'ignorer les messages HTTP avec des chiffres. inférieur ou égal à 400 . | |
CURLOPT_FILETIME | Lorsque cette option est activée, une tentative sera effectuée pour modifier les informations dans le document distant. Les informations sur le résultat seront renvoyées via l'option CURLINFO_FILETIME de la fonction curl_getinfo(). curl_getinfo(). | |
CURLOPT_FOLLOWLOCATION | Lorsqu'il est activé, le serveur renverra " Emplacement : " est placé dans l'en-tête et renvoyé au serveur de manière récursive. Utilisez CURLOPT_MAXREDIRS pour limiter le nombre de retours récursifs. | |
CURLOPT_FORBID_REUSE | Déconnexion forcée après avoir terminé l'interaction et ne peut pas être réutilisé. | |
CURLOPT_FRESH_CONNECT | Forcer une nouvelle connexion pour remplacer celle du cache. | |
CURLOPT_FTP_USE_EPRT | Lorsque cette option est activée, utilisez la commande EPRT (ou LPRT) lors des téléchargements FTP. Désactivez EPRT et LPRT lorsqu'ils sont définis sur FALSE, utilisez la commande PORT uniquement. | |
CURLOPT_FTP_USE_EPSV | Lorsque activé, avant de revenir au mode PASV pendant le transfert FTP Essayez le Commande EPSV. Désactive la commande EPSV lorsqu'elle est définie sur FALSE. | |
CURLOPT_FTPAPPEND | Lorsqu'il est activé, l'ajout écrit dans le fichier au lieu de l'écraser. Alias de | |
CURLOPT_FTPASCII | CURLOPT_TRANSFERTEXT. | |
CURLOPT_FTPLISTONLY | Lorsque cette option est activée, seul le nom du répertoire FTP est répertorié. | |
CURLOPT_HEADER | Lorsque cette option est activée, les informations du fichier d'en-tête seront affichées sous forme de flux de données. | |
CURLINFO_HEADER_OUT | La chaîne de requête pour le handle de suivi lorsqu'il est activé. | Disponible à partir de PHP 5.1.3. CURLINFO_Le préfixe est intentionnel. |
CURLOPT_HTTPGET | Lorsqu'elle est activée, la méthode HTTP sera définie sur GET. Étant donné que GET est la valeur par défaut, elle n'est utilisée que lorsqu'elle l'est. modifié. | |
CURLOPT_HTTPPROXYTUNNEL | Lorsqu'il est activé, il sera transmis via un proxy HTTP. | |
CURLOPT_MUTE | Lorsqu'il est activé, tous les paramètres modifiés dans la fonction cURL seront restaurés à leur valeur par défaut valeurs. | |
CURLOPT_NETRC | Une fois la connexion établie, accédez au fichier pour obtenir les informations de nom d'utilisateur et de mot de passe pour vous connecter au site distant. | |
CURLOPT_NOBODY | Lorsque cette option est activée, la partie CORPS en HTML ne sera pas affichée. | |
CURLOPT_NOPROGRESS | Fermez la barre de progression du transfert de boucles lorsqu'elle est activée, la valeur par défaut pour cet élément est défini sur activé.
| |
CURLOPT_NOSIGNAL | Lorsqu'il est activé, ignorer toutes les passes curl au signal php . Cet élément est activé par défaut lors de la transmission multithread SAPI. | cURL a été ajouté dans la version 7.10. |
CURLOPT_POST | Lorsque activé, une requête POST régulière sera envoyée, de type : application/x-www-form- urlencoded , tout comme la soumission d'un formulaire. | |
CURLOPT_PUT | permet à HTTP d'envoyer des fichiers lorsqu'il est activé et doit également définir CURLOPT_INFILE et CURLOPT_INFILESIZE. | |
CURLOPT_RETURNTRANSFER | Renvoyer les informations obtenues par curl_exec() sous la forme d'un flux de fichier à la place de sortie directe. | |
CURLOPT_SSL_VERIFYPEER | Lorsque cURL est désactivé, il mettra fin à la vérification du serveur. Utilisez l'option CURLOPT_CAINFO pour définir le certificat. Utilisez l'option CURLOPT_CAPATH pour définir le répertoire du certificat. Si CURLOPT_SSL_VERIFYPEER (la valeur par défaut est 2) est activé, CURLOPT_SSL_VERIFYHOST doit être défini sur TRUE, sinon défini sur FALSE. | est par défaut TRUE depuis cURL 7.10. À partir de cURL 7.10, l'installation du bundle est effectuée par défaut. |
CURLOPT_TRANSFERTEXT | Utilisez le mode ASCII pour les transferts FTP lorsqu'il est activé. Pour LDAP, il récupère des informations en texte brut plutôt qu'en HTML. Sur les systèmes Windows, le système ne définit pas STDOUT en mode binaire. | |
CURLOPT_UNRESTRICTED_AUTH | En-têtes multiples générés à l'aide de CURLOPT_FOLLOWLOCATION Les informations sur le nom d'utilisateur et le mot de passe continuent à ajouter aux emplacements, même si le nom de domaine a changé. | |
CURLOPT_UPLOAD | Activer pour autoriser les téléchargements de fichiers. | |
CURLOPT_VERBOSE | Lorsque cette option est activée, toutes les informations seront signalées et stockées dans STDERR ou le CURLOPT_STDERR spécifié. |
Pour les paramètres facultatifs des options suivantes, la valeur doit être définie sur une valeur de type entier :
Options | FacultatifvaleurValeur | Remarques | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CURLOPT_BUFFERSIZE | La taille du cache lue dans les données obtenues à chaque fois, mais rien ne garantit que cette valeur sera remplie à chaque fois. | a été ajouté dans cURL 7.10. | |||||||||||||||
CURLOPT_CLOSEPOLICY | Soit CURLCLOSEPOLICY_LEAST_RECENTLY_USED, soit CURLCLOSEPOLICY_OLDEST Il existe trois autres CURLCLOSEPOLICY, mais cURL ne les prend pas encore en charge. | ||||||||||||||||
CURLOPT_CONNECTTIMEOUT | Le temps d'attente avant d'établir une connexion S'il est défini sur 0, il le sera. attendre indéfiniment. | ||||||||||||||||
CURLOPT_CONNECTTIMEOUT_MS | Le temps d'attente en millisecondes pour une tentative de connexion. S'il est défini sur 0, attendez indéfiniment. | a été ajouté dans cURL 7.16.2. Disponible à partir de PHP 5.2.3. | |||||||||||||||
CURLOPT_DNS_CACHE_TIMEOUT | Définissez l'heure d'enregistrement des informations DNS en mémoire, la valeur par défaut est de 120 secondes. | ||||||||||||||||
CURLOPT_FTPSSLAUTH | Méthode de vérification FTP : CURLFTPAUTH_SSL (essayez d'abord SSL) , CURLFTPAUTH_TLS (essayez d'abord TLS) ou CURLFTPAUTH_DEFAULT (laissez cURL décider automatiquement). | a été ajouté dans cURL 7.12.2. | |||||||||||||||
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (valeur par défaut, laissez cURL décider quelle version utiliser), CURL_HTTP_VERSION_1_0 (forcer HTTP/1.0) ou CURL_HTTP_VERSION_1_1 (forcer HTTP/1.1). | ||||||||||||||||
CURLOPT_INFILESIZE | Définissez la limite de taille des fichiers téléchargés en octets. | ||||||||||||||||
CURLOPT_LOW_SPEED_LIMIT | Lorsque la vitesse de transfert est inférieure à CURLOPT_LOW_SPEED_LIMIT (octets /sec ), PHP utilisera CURLOPT_LOW_SPEED_TIME pour déterminer s'il faut annuler la transmission car elle est trop lente. | ||||||||||||||||
CURLOPT_LOW_SPEED_TIME | Lorsque la vitesse de transfert est inférieure à CURLOPT_LOW_SPEED_LIMIT (octets /sec ), PHP utilisera CURLOPT_LOW_SPEED_TIME pour déterminer s'il faut annuler la transmission car elle est trop lente. | ||||||||||||||||
CURLOPT_MAXCONNECTS | Le nombre maximum de connexions autorisées, en cas de dépassement, CURLOPT_CLOSEPOLICY Décidez quelles connexions doivent être interrompues. | ||||||||||||||||
CURLOPT_MAXREDIRS | Spécifie le nombre maximum de redirections HTTP. Cette option est la même que <🎜. > Utilisé avec CURLOPT_FOLLOWLOCATION. | ||||||||||||||||
CURLOPT_PORT | est utilisé pour spécifier le port de connexion. (Facultatif)|||||||||||||||||
CURLOPT_PROTOCOLS | Pointeur Bitfield vers CURLPROTO_* . Si elle est activée, la valeur du champ de bits limite les protocoles que libcurl peut utiliser pendant les transferts. Cela vous permettra de compiler libcurl pour prendre en charge de nombreux protocoles, mais uniquement pour en utiliser un sous-ensemble dont l'utilisation est autorisée. Par défaut, libcurl utilisera tous les protocoles qu'il prend en charge. Voir CURLOPT_REDIR_PROTOCOLS LE, CURLPROTO_TFTP, CURLPROTO_ALL dans cURL 7.19 a été ajouté. Les champs de bits de | ||||||||||||||||
CURLPROTO_* | . Si elle est activée, la valeur du champ de bits limite les protocoles que libcurl peut utiliser pendant les transferts. Cela vous permettra de compiler libcurl pour prendre en charge de nombreux protocoles, mais uniquement pour en utiliser un sous-ensemble dont l'utilisation est autorisée. Par défaut, libcurl utilisera tous les protocoles qu'il prend en charge. VoirCURLOPT_REDIR_PROTOCOLS. Les options de protocole disponibles sont : CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FI LE, CURL. PROTO_TFTP, CURLPROTO_ALL dans cURL 7.19. 4 a été ajouté. | ||||||||||||||||
Méthode de vérification pour la connexion proxy HTTP. Utilisez les indicateurs de champ de bits dans CURLOPT_HTTPAUTH | pour définir les options correspondantes. Pour l'authentification proxy, seulsCURLAUTH_BASIC et CURLAUTH_NTLM sont actuellement pris en charge. a été ajouté dans cURL 7.10.7. | ||||||||||||||||
Le port du serveur proxy. Le port peut également être défini dans CURLOPT_PROXY | .|||||||||||||||||
CURLOPT_PROXYTYPE | est soit CURLPROXY_HTTP (par défaut) ou CURLPROXY_SOCKS5. | a été ajouté dans cURL 7.10. La valeur du champ de bits dans | |||||||||||||||
CURLOPT_REDIR_PROTOCOLS | CURLPROTO_*. Si elle est activée, la valeur du champ de bits limitera les protocoles que le thread de transport peut utiliser lors du suivi d'une redirection lorsque CURLOPT_FOLLOWLOCATION est activé. Cela vous permettra de restreindre le thread de transport à un sous-ensemble de protocoles autorisés lors de la redirection. Par défaut, libcurl autorisera tous les protocoles sauf FILE et SCP. Ceci est légèrement différent de la version préliminaire 7.19.4 qui suit inconditionnellement tous les protocoles pris en charge. Pour les constantes de protocole, veuillez vous référer à CURLOPT_PROTOCOLS. | a été ajouté dans cURL 7.19.4. | |||||||||||||||
CURLOPT_RESUME_FROM | Passez un décalage d'octet lors de la reprise de la transmission (utilisé pour la reprise de la transmission). | ||||||||||||||||
CURLOPT_SSL_VERIFYHOST | 1 Vérifiez si un nom commun existe dans le certificat SSL du serveur. Note du traducteur : Common Name signifie généralement renseigner le nom de domaine (domaine) ou le sous-domaine (sous-domaine) pour lequel vous allez demander un certificat SSL. 2 Vérifiez que le nom commun existe et correspond au nom d'hôte fourni. | ||||||||||||||||
CURLOPT_SSLVERSION | La version SSL à utiliser (2 ou 3). Par défaut, PHP détectera cette valeur tout seul, même si dans certains cas, il faudra peut-être la définir manuellement. | ||||||||||||||||
CURLOPT_TIMECONDITION | Si après un certain temps précisé par CURLOPT_TIMEVALUE Si a été modifié, utilisez CURL_TIMECOND_IFMODSINCE pour revenir à la page. S'il n'a pas été modifié et que CURLOPT_HEADER est vrai, un en-tête "304 Not Modified" sera. retourné. < Si 🎜>CURLOPT_HEADER est faux, utilisez CURL_TIMECOND_IFUNMODSINCE, et la valeur par défaut est CURL_TIMECOND_IFUNMODSINCE. | ||||||||||||||||
CURLOPT_TIMEOUT | Définissez le nombre maximum de secondes pendant lesquelles cURL est autorisé à s'exécuter.|||||||||||||||||
CURLOPT_TIMEOUT_MS | Définissez le nombre maximum de millisecondes pendant lesquelles cURL est autorisé à s'exécuter.a été ajouté dans cURL 7.16.2. Disponible à partir de PHP 5.2.3. | ||||||||||||||||
CURLOPT_TIMEVALUE | Définir un horodatage utilisé parCURLOPT_TIMECONDITION Par défaut, CURL_TIMECOND_IFMODSINCE est utilisé . . |
Options | FacultatifvaleurValeur | Remarques |
---|---|---|
CURLOPT_CAINFO | Un nom de fichier qui contient un ou plusieurs certificats pour la vérification du serveur. Ce paramètre n'a de sens que lorsqu'il est utilisé avec CURLOPT_SSL_VERIFYPEER. . Cette option s'utilise avec | CURLOPT_SSL_VERIFYPEER. |
CURLOPT_COOKIE | Définir le | "Cookie : " partie du HTTP demander du contenu. Plusieurs cookies sont séparés par un point-virgule suivi d'un espace (par exemple, " fruit=apple; color=red | ").
CURLOPT_COOKIEFILELe nom du fichier contenant les données du cookie peut être Netscape. format. Ou enregistrez simplement les informations d’en-tête HTTP pures dans le fichier. | ||
CURLOPT_COOKIEJAR | Un fichier qui enregistre les informations sur les cookies une fois la connexion terminée. | |
CURLOPT_CUSTOMREQUEST | Remplacez | par un message de demande personnalisé GET" ou | HEAD"
ou d'autres requêtes HTTP plus secrètes. Les valeurs valides incluent "GET", | "POST", "CONNECT", etc. Autrement dit, n'entrez pas l'intégralité de la requête HTTP ici. Par exemple, saisir "GET /index.html HTTP/1.0rnrn" est incorrect. Remarque :N'utilisez pas cette méthode de requête personnalisée tant que vous n'êtes pas sûr que le serveur la prend en charge. | |
CURLOPT_EGDSOCKET | Semblable à CURLOPT_RANDOM_FILE, à l'exception d'un Prise du démon de collecte d'entropie. | |
CURLOPT_ENCODING | En-tête de requête HTTP "Accept-Encoding : " valeur . Les encodages pris en charge sont "identity", "deflate" et "gzip". S'il s'agit d'une chaîne vide "", l'en-tête de la requête enverra tous les types d'encodage pris en charge. | a été ajouté dans cURL 7.10. |
CURLOPT_FTPPORT | Cette valeur sera utilisée pour obtenir l'adresse IP requise pour la commande FTP "POST". La commande "POST" indique au serveur distant de se connecter à l'adresse IP que nous avons spécifiée. Cette chaîne peut être une adresse IP en texte brut, un nom d'hôte, un nom d'interface réseau (sous UNIX) ou simplement un '-' pour utiliser l'adresse IP par défaut. | |
CURLOPT_INTERFACE | Le nom de l'interface d'envoi du réseau, qui peut être un nom d'interface, une adresse IP ou un nom d'hôte. | |
CURLOPT_KRB4LEVEL | Niveau de sécurité KRB4 (Kerberos 4). Toutes les valeurs suivantes sont valides (par ordre décroissant) : "clear", "safe", "confidential", "privé".. Si la chaîne ne correspond à aucun de ces éléments, "private" sera utilisé. Définir cette option sur NULL désactivera l'authentification de sécurité KRB4. Actuellement, l'authentification de sécurité KRB4 ne peut être utilisée que pour la transmission FTP. | |
CURLOPT_POSTFIELDS | Toutes les données sont envoyées à l'aide de l'opération "POST" dans le protocole HTTP. Pour envoyer un fichier, préfixez le nom du fichier avec @ et utilisez le chemin complet. Ce paramètre peut être transmis via une chaîne codée en urlen comme 'para1=val1¶2=val2&...' ou en utilisant un tableau avec le nom du champ comme clé et les données du champ comme valeur. Si value est un tableau, l'en-tête Content-Type sera défini sur multipart/form-data. | |
CURLOPT_PROXY | Canal proxy HTTP. | |
CURLOPT_PROXYUSERPWD | A "[nom d'utilisateur]:[ mot de passe]" chaîne de formatage. | |
CURLOPT_RANDOM_FILE | Un nom de fichier utilisé pour générer des graines de nombres aléatoires SSL. | |
CURLOPT_RANGE | sous la forme de "X-Y", où X et Y est la plage de données facultatives obtenues, mesurée en octets. Le fil de transfert HTTP prend également en charge plusieurs doublons de ce type séparés par des virgules tels que "X-Y,N-M". | |
CURLOPT_REFERER | Dans l'en-tête de la requête HTTP "Référent : " contenu . | |
CURLOPT_SSL_CIPHER_LIST | Une liste d'algorithmes de cryptage SSL. Par exemple, RC4-SHA et TLSv1 sont toutes deux des listes de chiffrement disponibles. | |
CURLOPT_SSLCERT | Un nom de fichier contenant un certificat au format PEM. | |
CURLOPT_SSLCERTPASSWD | Le mot de passe requis pour utiliser le certificat CURLOPT_SSLCERT. | |
CURLOPT_SSLCERTTYPE | Le type de certificat. Les formats pris en charge sont "PEM" (par défaut), "DER" et "ENG". | a été ajouté dans cURL 7.9.3. |
CURLOPT_SSLENGINE | Variable du moteur de cryptographie utilisée pour la clé privée SSL spécifiée dans CURLOPT_SSLKEY. | |
CURLOPT_SSLENGINE_DEFAULT | Variable utilisée pour les opérations de chiffrement asymétrique. | |
CURLOPT_SSLKEY | Le nom du fichier contenant la clé privée SSL. | |
CURLOPT_SSLKEYPASSWD | SSL spécifié dans CURLOPT_SSLKEY Le mot de passe pour la clé privée.
| |
CURLOPT_SSLKEYTYPE | CURLOPT_SSLKEY Le type de cryptage de la clé privée. Les types de clés pris en charge sont "PEM"(valeur par défaut), "DER" et "ENG". | |
CURLOPT_URL | L'adresse URL à obtenir peut également être obtenue dans curl_init()Défini en fonction. | |
CURLOPT_USERAGENT | Inclure un "User-Agent : "< dans la requête HTTP 🎜>Chaîne d'en-tête. | |
CURLOPT_USERPWD | Passez le nom d'utilisateur et le mot de passe requis pour une connexion au format :"[nom d'utilisateur] :[mot de passe]". |
Pour ces options ci-dessous Facultatif paramètre, la valeur doit être définie sur un tableau :
Options | peuvent sélectionner< em class="reset">valeurValeur | Remarques |
---|
选项 | 可选value值 | 备注 |
---|---|---|
CURLOPT_HTTP200ALIASES | 200响应码数组,数组中的响应吗被认为是正确的响应,否则被认为是错误的。 | 在cURL 7.10.3中被加入。 |
CURLOPT_HTTPHEADER | 一个用来设置HTTP头字段的数组。使用如下的形式的数组进行设置: array('Content-type: text/plain', 'Content-length: 100') | |
CURLOPT_POSTQUOTE | 在FTP请求执行完成后,在服务器上执行的一组FTP命令。 | |
CURLOPT_QUOTE | 一组先于FTP请求的在服务器上执行的FTP命令。 |
对于下面的这些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); ?>
上传文件实例:
<?php /* http://localhost/upload.php: print_r($_POST); print_r($_FILES); */ $ch = curl_init(); $data = array('name' => 'Foo', 'file' => '@/home/user/test.png'); curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_exec($ch); ?>
以上实例输出结果如下:
注释
传递一个数组到CURLOPT_POSTFIELDS,cURL会把数据编码成 multipart/form-data,而然传递一个URL-encoded字符串时,数据会被编码成 application/x-www-form-urlencoded。
【相关文章推荐】
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!