首頁 >後端開發 >php教程 >php curl模拟post中如何使用multipart上传文件

php curl模拟post中如何使用multipart上传文件

WBOY
WBOY原創
2016-06-06 20:14:351666瀏覽

使用新浪微博api写图床时出现了20007错误,文档说需要用multipart上传文件。php中curl模拟post该如何用multipart上传文件?

我使用的代码:

<code>$uri = "https://upload.api.weibo.com/2/statuses/upload.json";
$data = array (
        'access_token' => '',
        'status' => '',
        'pic' => ''
);
 
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $uri );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
$return = curl_exec ( $ch );
curl_close ( $ch );
 
print_r($return);</code>

回复内容:

使用新浪微博api写图床时出现了20007错误,文档说需要用multipart上传文件。php中curl模拟post该如何用multipart上传文件?

我使用的代码:

<code>$uri = "https://upload.api.weibo.com/2/statuses/upload.json";
$data = array (
        'access_token' => '',
        'status' => '',
        'pic' => ''
);
 
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $uri );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
$return = curl_exec ( $ch );
curl_close ( $ch );
 
print_r($return);</code>

看 curl的代码应该是没有什么大问题 ,不知道是不是你几个值为空的原因,
"pic"=>"@/path/to/myfile.jpg",

当你的$data是数组的时候 curl自动会以multipart方式post的
再加一句,数组必须 为K=>v格式的数组

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn