将curl请求转换为php

I am trying to use and API, an the curl request below works on the command line:

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"

Here I have translated the code above to PHP, but although the request is being sent it is not working because it says the "token is invalid". I am 100% sure the token is working and is correct so I presume that there is something in my code

$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);

Thank you

I figure it out. Change this code:

CURLOPT_HTTPHEADER => $header // -H 

to this:

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

curlopt_httpheader expect and array.

Saw something in your $header (single quotes) does this work:

$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);