Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将curl请求转换为php_Php_Curl - Fatal编程技术网

将curl请求转换为php

将curl请求转换为php,php,curl,Php,Curl,我正在尝试使用和API,下面的curl请求在命令行上工作: curl 'https://subdomain.test.domain.com/api/v1/users/4508184' -X PUT -F 'user[avatar][url]= http://domain.com/canvas/avatar.jpg' -H "Authorization: Bearer tokenxxxxxxxxyyyyyyy" 在这里,我已经将上面的代码翻译成PHP,但是尽管发送了请求,但它仍然不起作用,

我正在尝试使用和API,下面的curl请求在命令行上工作:

curl 'https://subdomain.test.domain.com/api/v1/users/4508184' 
-X PUT 
-F 'user[avatar][url]= http://domain.com/canvas/avatar.jpg' 
-H "Authorization: Bearer tokenxxxxxxxxyyyyyyy"
在这里,我已经将上面的代码翻译成PHP,但是尽管发送了请求,但它仍然不起作用,因为它说“令牌无效”。 我100%确信令牌正在工作并且是正确的,所以我假设我的代码中有一些东西

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "{$baseUrl}{$userId}", 
CURLOPT_CUSTOMREQUEST => 'PUT',  // -X
CURLOPT_POSTFIELDS => 'user[avatar][url]=http://domain/canvas/avatar.jpg', // -F
CURLOPT_HTTPHEADER => $header // -H
));
$result = curl_exec($curl);
curl_close($curl);

谢谢

在您的$header(单引号)中看到了一些内容。这是否有效:

$header = "Authorization: Bearer tokenxxxxxyyyyy"; 
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => "{$baseUrl}{$userId}", 
    CURLOPT_CUSTOMREQUEST => 'PUT',  // -X
    CURLOPT_POSTFIELDS => 'user[avatar][url]=http://domain/canvas/avatar.jpg', // -F
    CURLOPT_HTTPHEADER => $header // -H
));
$result = curl_exec($curl);
curl_close($curl);

我知道了。更改此代码:

CURLOPT_HTTPHEADER => $header // -H 
为此:

CURLOPT_HTTPHEADER => array($header) // -H 

curlopt_httpheader expect and array.

您的$header看起来像什么?我的$header看起来像这样:$header=“'Authorization:Bearer tokenxxxxxxxxyyyy'”;我知道了。将此代码:CURLOPT_HTTPHEADER=>$header/-H更改为:CURLOPT_HTTPHEADER=>array($header)/-H CURLOPT_HTTPHEADER expect and array。