função curl_setopt PHP
função curl_setopt PHP
(PHP 4> = 4.0.2, PHP 5)
curl_setopt - conjunto de opções de transferência curl.
explicação
bool curl_setopt ( resource $ch , int $option , mixed $value )
Dada cURL handle sessão de definir uma opção.
parâmetros
ch
Pela curl_init () retorna um manipulador cURL.
opção
opções CURLOPT_XXX precisa ser definido.
valor
Defina o valor da opção sobre as opções.
Para os seguintes parâmetros opcionais destes opção, o valor deve ser definido como um valor de tipo bool:
opções | valor valor opcional | observação |
---|---|---|
CURLOPT_AUTOREFERER | Quando acordo Localização: redirecionar cabeçalho definido automaticamente na Referer: a informação. | |
CURLOPT_BINARYTRANSFER | CURLOPT_RETURNTRANSFER quando ativado, retornar saída nativa (Raw). | |
CURLOPT_COOKIESESSION | Quando onda habilitados só vai passar um cookie de sessão, ignorar o outro biscoito, cURL status padrão retornará todo o cookie para o servidor. cookie de sessão são os usados para determinar a validade da sessão do lado do servidor existe cookie. | |
CURLOPT_CRLF | Quando você ativa a nova linha Unix para retorno de carro. | |
CURLOPT_DNS_USE_GLOBAL_CACHE | Habilitado habilitado um cache de DNS global, ativar esse segmento seguro e padrão. | |
CURLOPT_FAILONERROR | código de status de exibição HTTP, o comportamento padrão é ignorar o número de 400 ou menos informação HTTP. | |
CURLOPT_FILETIME | Ele vai tentar modificar informações sobre remoto no documento está habilitado. Resultados informações é () função opção CURLINFO_FILETIME retorna através curl_getinfo. curl_getinfo (). | |
CURLOPT_FOLLOWLOCATION | Quando o servidor retorna o servidor permitirá que o "Location:" cabeçalho na recursão volta para o servidor, você pode usar CURLOPT_MAXREDIRS definidos de forma recursiva retornar número. | |
CURLOPT_FORBID_REUSE | desconexão forçada após a conclusão da interacção não pode ser reutilizado. | |
CURLOPT_FRESH_CONNECT | Forçado a obter uma nova conexão, substitua a conexão cache. | |
CURLOPT_FTP_USE_EPRT | Quando ativado downloads FTP, use o comando EPRT (ou LPRT). Desativar EPRT e LPRT quando definido como FALSE, use o comando apenas PORT. | |
CURLOPT_FTP_USE_EPSV | Quando ativado, a resposta ao processo de transferência de FTP modo PASV antes do primeiro comando try EPSV. Quando definida como FALSE para desativar o comando EPSV. | |
CURLOPT_FTPAPPEND | ficheiro de gravação adicional em vez de substituí-lo ativado. | |
CURLOPT_FTPASCII | Alias CURLOPT_TRANSFERTEXT. | |
CURLOPT_FTPLISTONLY | Lista apenas o nome do diretório FTP está habilitado. | |
CURLOPT_HEADER | Quando você habilita o cabeçalho da mensagem serão emitidos como um fluxo de dados. | |
CURLINFO_HEADER_OUT | Rastreamento habilitado cadeia do pedido punho. | Disponível desde o PHP 5.1.3. prefixo CURLINFO_ é deliberada (intencional). |
CURLOPT_HTTPGET | A configuração permitirá que o método HTTP é GET, uma vez que GET é o padrão, então use apenas em caso de ser modificado. | |
CURLOPT_HTTPPROXYTUNNEL | Ele será transmitido através do proxy HTTP está habilitado. | |
CURLOPT_MUTE | A função cURL todos os parâmetros modificados para restaurar o valor padrão é ativado. | |
CURLOPT_NETRC | Depois que a conexão é estabelecida, arquivo de acesso ~ / .netrc para o nome de usuário e senha para conectar locais remotos. | |
CURLOPT_NOBODY | não vai ser parte da saída BODY HTML está habilitado. | |
CURLOPT_NOPROGRESS | Fechar habilitado barra de ondulação progresso da transmissão, este é ativado por padrão.
| |
CURLOPT_NOSIGNAL | Ignorar todas o sinal é passado para a onda PHP ativado realizada. Isso é ativado por padrão quando SAPI transferência multithreaded. | cURL 7,10, quando adicionados. |
CURLOPT_POST | Quando ativado envia uma solicitação POST normal, tipo: / x-www-formulário de candidatura -urlencoded, assim como o envio do formulário. | |
CURLOPT_PUT | Permitir HTTP enviar um arquivo, você deve definir CURLOPT_INFILE e CURLOPT_INFILESIZE simultaneamente habilitado. | |
CURLOPT_RETURNTRANSFER | O curl_exec () retorna as informações obtidas na forma de fluxo de arquivo, em vez de estar de saída. | |
CURLOPT_SSL_VERIFYPEER | Após cURL incapacitantes será encerrada a partir do servidor para verificar. certificados de opção Use CURLOPT_CAINFO CURLOPT_CAPATH catálogo certificados de opções Se CURLOPT_SSL_VERIFYPEER (2 por padrão) é ativado, CURLOPT_SSL_VERIFYHOST precisa ser definido como TRUE, caso contrário, ela é definida como FALSE. | CURL 7,10 desde o início do padrão é TRUE. Desde o início da ligação instalar cURL 7.10 padrão. |
CURLOPT_TRANSFERTEXT | Use o modo ASCII para transferências FTP ativado. Para LDAP, ele recupera as informações em texto simples em vez de HTML. Em sistemas Windows, o sistema não irá definir STDOUT para o modo binário. | |
CURLOPT_UNRESTRICTED_AUTH | Usando CURLOPT_FOLLOWLOCATION gerado cabeçalho vários locais continuamente acrescentar o nome de usuário e senha informações, mesmo que o nome de domínio foi alterado. | |
CURLOPT_UPLOAD | Quando habilitado permite o upload de arquivos. | |
CURLOPT_VERBOSE | Relatará habilitado todas as informações armazenadas em STDERR ou designados CURLOPT_STDERR in. |
Para os seguintes parâmetros opcionais destes opção, o valor deve ser definido como um valor do tipo inteiro:
opções | valor valor opcional | observação |
---|---|---|
CURLOPT_BUFFERSIZE | Cada dados adquiridos lido no tamanho do cache, mas não garante que o valor de cada um será preenchido. | Foi adicionado em cURL 7,10. |
CURLOPT_CLOSEPOLICY | Não CURLCLOSEPOLICY_LEAST_RECENTLY_USED é CURLCLOSEPOLICY_OLDEST, existem três outros CURLCLOSEPOLICY, mas cURL ainda não é suportado. | |
CURLOPT_CONNECTTIMEOUT | Antes de iniciar a conexão tempo de espera, se for definido como 0, aguarde indefinidamente. | |
CURLOPT_CONNECTTIMEOUT_MS | Tente conectar-se o tempo de espera, em milissegundos. Se definido como 0, aguarde indefinidamente. | 7.16.2 CURL é adicionado. Disponível desde o PHP 5.2.3. |
CURLOPT_DNS_CACHE_TIMEOUT | Definindo informações de DNS armazenados na memória do tempo, o padrão é 120 segundos. | |
CURLOPT_FTPSSLAUTH | autenticação de FTP: CURLFTPAUTH_SSL (primeira tentativa SSL), CURLFTPAUTH_TLS (primeira tentativa TLS) ou CURLFTPAUTH_DEFAULT (vamos cURL determinado automaticamente). | 7.12.2 CURL é adicionado. |
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (valor padrão, então CURL decidir por si próprios qual versão usar), CURL_HTTP_VERSION_1_0 (uso obrigatório de HTTP / 1.0) ou CURL_HTTP_VERSION_1_1 (uso obrigatório de HTTP / 1.1). | |
CURLOPT_INFILESIZE | Definir o limite de tamanho de arquivo de upload de bytes unidades (byte). | |
CURLOPT_LOW_SPEED_LIMIT | Quando a taxa de transmissão é menor do que o tempo de CURLOPT_LOW_SPEED_LIMIT (bytes / seg), o PHP CURLOPT_LOW_SPEED_TIME base para determinar se a transmissão foi cancelada por causa da muito lento. | |
CURLOPT_LOW_SPEED_TIME | Quando a taxa de transmissão é menor do que o tempo de CURLOPT_LOW_SPEED_LIMIT (bytes / seg), o PHP CURLOPT_LOW_SPEED_TIME base para determinar se a transmissão foi cancelada por causa da muito lento. | |
CURLOPT_MAXCONNECTS | O número máximo de ligações para permitir, através CURLOPT_CLOSEPOLICY irá determinar quais as ligações deve ser interrompido. | |
CURLOPT_MAXREDIRS | Especifica o número máximo de redirecionamentos HTTP e CURLOPT_FOLLOWLOCATION Esta opção é usada em conjunto. | |
CURLOPT_PORT | Ele é utilizado para especificar a porta de ligação. (Opcional) | |
CURLOPT_PROTOCOLS | CURLPROTO_ * O campo pouco significa. Se estiver habilitado, o valor do campo bit irá definir quais protocolos podem ser usados libcurl lá durante a transmissão. Isso permitirá que você para apoiar uma série de protocolos quando compilar libcurl, mas os limites não forem autorizados a usar um subconjunto. O libcurl por omissão irá usar todos os protocolos suportados. Veja opções de protocolo CURLOPT_REDIR_PROTOCOLS disponíveis para: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS , CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_ALL | 7.19.4 CURL é adicionado. |
CURLOPT_PROTOCOLS | CURLPROTO_ * O campo pouco significa. Se estiver habilitado, o valor do campo bit irá definir quais protocolos podem ser usados libcurl lá durante a transmissão. Isso permitirá que você para apoiar uma série de protocolos quando compilar libcurl, mas os limites não forem autorizados a usar um subconjunto. O libcurl por omissão irá usar todos os protocolos suportados. Veja opções de protocolo CURLOPT_REDIR_PROTOCOLS disponíveis para: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS , CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_ALL | 7.19.4 CURL é adicionado. |
CURLOPT_PROXYAUTH | Proxy HTTP conexão de autenticação. Use bandeira bitfield CURLOPT_HTTPAUTH para definir as opções apropriadas. Para autenticação de proxy única CURLAUTH_BASIC e CURLAUTH_NTLM suportada atualmente. | 7.10.7 CURL é adicionado. |
CURLOPT_PROXYPORT | porta do servidor proxy. Portas também pode ser definido no CURLOPT_PROXY. | |
CURLOPT_PROXYTYPE | Não CURLPROXY_HTTP (valor padrão) é CURLPROXY_SOCKS5. | Foi adicionado em cURL 7,10. |
CURLOPT_REDIR_PROTOCOLS | * CURLPROTO_ o valor do campo bit. Se estiver habilitado, o valor do campo bit irá limitar o protocolo de transmissão a seguir quando um fio redirecionador quando sua vez CURLOPT_FOLLOWLOCATION pode ser usado. Isto irá redirecioná-lo para o limite de threads de transmissão são permitidos protocolos subconjunto libcurl padrão permitirá que todos os protocolos, exceto para o arquivo e SCP. Este tipo de versão de pré-lançamento 7.19.4 e incondicionalmente seguir todos os protocolos suportados, existem algumas diferenças. Sobre constantes do protocolo, consulte CURLOPT_PROTOCOLS. | 7.19.4 CURL é adicionado. |
CURLOPT_RESUME_FROM | Passe um deslocamento ao restaurar a transmissão (por HTTP) byte. | |
CURLOPT_SSL_VERIFYHOST | Se existe um nome comum (nome comum) 1 Verifique se o certificado SSL do servidor. Nota do tradutor: Nome Comum (Common Name) Em geral, você vai querer aplicar é preencher domínio do certificado SSL (domínio) ou subdomínio (sub-domínio). 2 Verifique o nome comum existe, e se ele corresponde ao nome do host fornecido. | |
CURLOPT_SSLVERSION | Use a versão SSL (2 ou 3). Por padrão PHP irá detectar este valor si, embora em alguns casos necessário configurar manualmente. | |
CURLOPT_TIMECONDITION | Se você estiver editando no futuro em um CURLOPT_TIMEVALUE tempo especificado também, usar retorno CURL_TIMECOND_IFMODSINCE para a página, se não for modificada, e CURLOPT_HEADER é verdade, ele retorna um "304 Not Modified" no cabeçalho, CURLOPT_HEADER falsa, então use CURL_TIMECOND_IFUNMODSINCE, padrão valor CURL_TIMECOND_IFUNMODSINCE. | |
CURLOPT_TIMEOUT | Defina o número máximo de segundos para permitir que cURL executados. | |
CURLOPT_TIMEOUT_MS | Definindo cURL permitido executar o número máximo de milissegundos. | 7.16.2 CURL é adicionado. A partir do PHP 5.2.3 em diante pode ser utilizada. |
CURLOPT_TIMEVALUE | A definição de um CURLOPT_TIMECONDITION carimbo de tempo usado por padrão usando CURL_TIMECOND_IFMODSINCE. |
Para a seguinte opção destes parâmetros opcionais, o valor deve ser definido como o valor de um tipo de cadeia:
opções | valor valor opcional | observação |
---|---|---|
CURLOPT_CAINFO | Ele contém um ou uma pluralidade de o servidor usado para permitir a verificação do nome do arquivo de certificado. Este parâmetro só é significante quando usada em conjunto e CURLOPT_SSL_VERIFYPEER. . | |
CURLOPT_CAPATH | Detém uma pluralidade de CA diretório certificados. Esta opção é usada em conjunto com CURLOPT_SSL_VERIFYPEER. | |
CURLOPT_COOKIE | Definir solicitação HTTP "Cookie:" parte do conteúdo. bolinho múltiplos separados por um ponto e vírgula com um espaço após o ponto e vírgula (por exemplo, "fruto = maçã; color = vermelho"). | |
CURLOPT_COOKIEFILE | O nome do arquivo contém o arquivo de cookie formato de dados cookie pode estar no formato Netscape, ou informações de cabeçalho HTTP simplesmente em um arquivo. | |
CURLOPT_COOKIEJAR | Salvar informações arquivo de cookie após o término da conexão. | |
CURLOPT_CUSTOMREQUEST | Use uma informação pedido feito sob encomenda em vez de "GET" ou "cabeça" como uma solicitação HTTP. Esta é a implementação de solicitações HTTP mais obscuros "Delete" ou outros. Os valores válidos como "GET", "POST", "CONNECT" e assim por diante. Em outras palavras, não entra aqui toda a solicitação HTTP. Por exemplo, digite "GET /index.html HTTP / 1.0 \ r \ n \ r \ n" não é correto.
| |
CURLOPT_EGDSOCKET | CURLOPT_RANDOM_FILE semelhante, além de uma tomada de Entropy Gathering Daemon. | |
CURLOPT_ENCODING | Cabeçalho de solicitação HTTP "Accept-Encoding:" valor. codificação de "identidade" suportado, "deflate", e "gzip". Se uma cadeia vazia "", o primeiro pedido será enviado a todos os tipos de codificação suportados. | Foi adicionado em cURL 7,10. |
CURLOPT_FTPPORT | Este valor será usado para obter o endereço IP para a instrução FTP "POST" necessário. instrução "POST" diz ao servidor remoto para ligar para o nosso endereço IP especificado. Esta cadeia pode ser simples endereço IP texto, nome de host, um nome de interface de rede (UNIX abaixo) ou apenas um '-' para usar o endereço IP padrão. | |
CURLOPT_INTERFACE | Net nome da interface de envio pode ser um nome de interface, o endereço IP ou um nome de host. | |
CURLOPT_KRB4LEVEL | KRB4 (Kerberos 4) nível de segurança. Qualquer um dos seguintes valores são válidos (de baixa a alta ordem): "claro", "seguro ", "confidencial", "privado" .. Se a cadeia não corresponde e estes serão utilizados "privado". Esta opção é definida como NULL irá desativar certificação de segurança KRB4. Atualmente certificação de segurança KRB4 só pode ser usado para transferências FTP. | |
CURLOPT_POSTFIELDS | Todos os dados usando o protocolo HTTP na operação "POST" para enviar. Para enviar um arquivo na frente do nome do arquivo com o prefixo @ e use o caminho completo. Este parâmetro pode ser semelhante pela corda urlencoded depois de 'para1 = val1 & para2 = val2 & ...' ou usando um nome da chave campo, valores da matriz de dados de campo. Se o valor é um array, o cabeçalho Content-Type será definido para multipart / form-data. | |
CURLOPT_PROXY | HTTP canal de proxy. | |
CURLOPT_PROXYUSERPWD | cordas do formato: um para se conectar ao proxy "[senha] [nome do usuário]" . | |
CURLOPT_RANDOM_FILE | SSL é usado para gerar um nome de arquivo número base aleatório. | |
CURLOPT_RANGE | Na forma "XY", em que X e Y são ambos gama de aquisição de dados opcional, em bytes. tópicos de transferência HTTP também suporta várias dessas entradas duplicadas intermediária separados por vírgulas, como "XY, NM". | |
CURLOPT_REFERER | Conteúdo: No cabeçalho HTTP "Referer" pedido. | |
CURLOPT_SSL_CIPHER_LIST | A lista de algoritmos de criptografia SSL. Tais como RC4-SHA e TLSv1 são a lista de criptografia disponível. | |
CURLOPT_SSLCERT | O nome de um arquivo que contém o certificado formato PEM. | |
CURLOPT_SSLCERTPASSWD | Usando senhas certificado CURLOPT_SSLCERT necessário. | |
CURLOPT_SSLCERTTYPE | certificado de tipo. Os formatos suportados são "PEM" (valor default), "DER", e "ENG". | Juntou-se a onda 7.9.3. |
CURLOPT_SSLENGINE | Em CURLOPT_SSLKEY usado para especificar as variáveis mecanismo de criptografia de chave privada SSL. | |
CURLOPT_SSLENGINE_DEFAULT | Variáveis usadas para operações de criptografia assimétrica. | |
CURLOPT_SSLKEY | O nome do arquivo contém SSL chave privada. | |
CURLOPT_SSLKEYPASSWD | password CURLOPT_SSLKEY especificado na chave privada SSL.
| |
CURLOPT_SSLKEYTYPE | tipos de criptografia de chave privada especificados no CURLOPT_SSLKEY, apoiados tipo de chave é "PEM" (valor default), "DER", e "ENG". | |
CURLOPT_URL | endereço URL precisa chegar a ser função dispostos curl_init (). | |
CURLOPT_USERAGENT | Na solicitação HTTP inclui um "User-Agent:" string de cabeçalho. | |
CURLOPT_USERPWD | Passando uma conexão requer um nome de usuário e senha no formato: "[username]: [password ]". |
Estes opção para os seguintes parâmetros opcionais, o valor deve ser definido como uma matriz:
opções | valor valor opcional | observação |
---|---|---|
CURLOPT_HTTP200ALIASES | 200 matriz de código de resposta, a matriz de resposta é considerada a resposta correcta, caso contrário considera-se um erro. | 7.10.3 CURL é adicionado. |
CURLOPT_HTTPHEADER | Para definir um conjunto de campos de cabeçalho HTTP. Use uma variedade de as seguintes configurações: array ( 'Content-Type: text / plain "," Content-length: 100') | |
CURLOPT_POSTQUOTE | Após a execução é solicitações de FTP completos sobre o servidor para executar um conjunto de comandos de FTP. | |
CURLOPT_QUOTE | Um conjunto de FTP comandos executados no servidor antes da solicitação de FTP. |
Para os seguintes parâmetros opcionais destes opção, o valor deve ser definido como um fluxo de recursos (por exemplo, usando fopen ()):
opções | valor valor opcional |
---|---|
CURLOPT_FILE | localização definida arquivo de saída, o valor é um tipo de recurso, o padrão é STDOUT (o navegador). |
CURLOPT_INFILE | ficheiro de endereços ao fazer upload de um arquivo para ser lido, o valor de um tipo de recurso. |
CURLOPT_STDERR | Defina um valor de endereço de saída de erro é um tipo de recurso, em vez de o STDERR padrão. |
CURLOPT_WRITEHEADER | Definindo parte do cabeçalho de gravação do conteúdo do ficheiro de endereços, o valor é um tipo de recurso. |
Para a seguinte opção destes parâmetros opcionais, o valor deve ser definido como um nome de função de retorno de chamada:
opções | valor valor opcional |
---|---|
CURLOPT_HEADERFUNCTION | Configurar uma função de chamada de retorno que leva dois argumentos, o primeiro é o identificador de recurso cURL, eo segundo dados do cabeçalho é de saída. dados de cabeçalho de saída deve depender da função que retorna o tamanho dos dados foi escrito. |
CURLOPT_PASSWDFUNCTION | A definição de uma função de callback tem três argumentos, o primeiro é o identificador de recurso cURL, eo segundo é uma solicitação de senha, o terceiro parâmetro é o comprimento máximo de senha permitido. Retorna o valor da senha. |
CURLOPT_PROGRESSFUNCTION | A definição de uma função de callback tem três argumentos, o primeiro é o identificador de recurso cURL, eo segundo é um descritor de arquivo de recursos, eo terceiro é o comprimento. Ele retorna os dados que ele contém. |
CURLOPT_READFUNCTION | nome da função de retorno de chamada. Esta função usa três parâmetros devem ser. O primeiro é o recurso cURL, a segunda é a opção de passar cURL CURLOPT_INFILE o recurso de fluxo, o terceiro parâmetro é a quantidade máxima que pode ser lido de dados. A função de retorno de chamada deve retornar um comprimento inferior ou igual a quantidade de dados solicitados (terceiro parâmetro). Geral lido a partir do recurso de fluxo de entrada. Retorna uma cadeia vazia como EOF (fim de arquivo) sinais. |
CURLOPT_WRITEFUNCTION | nome da função de retorno de chamada. A função deve aceitar dois argumentos. O primeiro é o recurso cURL, o segundo é uma série de dados a serem escritos. Os dados devem ser armazenados na função. A função deve retornar o número exato de bytes a serem gravados para os dados de entrada, caso contrário, a transmissão será interrompida por um erro. |
Valor de retorno
retorno bem sucedido TRUE, ou em caso de falha retorna FALSE.
atualização Log
lançamento | explicação |
---|---|
5.2.10 | Apresentando CURLOPT_PROTOCOLS e CURLOPT_REDIR_PROTOCOLS . |
5.1.0 | Apresentando CURLOPT_AUTOREFERER , CURLOPT_BINARYTRANSFER , CURLOPT_FTPSSLAUTH , CURLOPT_PROXYAUTH e CURLOPT_TIMECONDITION . |
5.0.0 | Apresentando CURLOPT_FTP_USE_EPRT , CURLOPT_NOSIGNAL , CURLOPT_UNRESTRICTED_AUTH , CURLOPT_BUFFERSIZE , CURLOPT_HTTPAUTH , CURLOPT_PROXYPORT , CURLOPT_PROXYTYPE , CURLOPT_SSLCERTTYPE e CURLOPT_HTTP200ALIASES . |
Exemplos
Inicializa uma nova sessão cURL e obter uma página web
<?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); ?>
Fazer upload de arquivo Exemplo:
<?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); ?>
Os exemplos dos resultados de saída acima são como se segue:
Array ( [name] => Foo ) Array ( [file] => Array ( [name] => test.png [type] => image/png [tmp_name] => /tmp/phpcpjNeQ [error] => 0 [size] => 279 ) )
nota
Passando uma matriz CURLOPT_POSTFIELDS, os dados cURL será codificado em multipart / form-dados, e depois passar uma string codificada em URL, os dados são codificados como application / x-www-form-urlencoded.