@H_301_0@本文实例分析了PHP5.0~5.6 各版本兼容性cURL文件上传功能。分享给大家供大家参考,具体如下:
@H_301_0@最近做的一个需求,要通过PHP调用cURL,以multipart/form-data格式上传文件。踩坑若干,够一篇文章了。
@H_3010@<span style="font-size: medium">
重要警告
@H301_0@没事不要读PHP的官方中文文档!版本跟不上坑死你!
@H_301_0@<span style="font-size: medium">
不同版本PHP之间cURL的区别
@H_301_0@PHP的cURL支持通过给
CURL_POSTFIELDS
传递关联数组(而不是字符串)来生成multipart/form-data
的POST请求。@H_301_0@传统上,PHP的cURL支持通过在数组数据中,使用“@+文件全路径”的语法附加文件,供cURL读取上传。这与命令行直接调用cURL程序的语法是一致的:
<div class="jb51code">
<pre class="brush:php;">
curl_setopt(ch,CURLOPT_POSTFIELDS,array(
'file' => '@'.realpath('image.png'),));