curl模式上传图片

$file = 'file'; //要上传的文件
$url  = 'url';//target url

$fields['f'] = '@'.$file;

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url );
curl_setopt($ch, CURLOPT_POST, 1 );
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields );

curl_exec( $ch );

if ($error = curl_error($ch) ) {
       die($error);
}
curl_close($ch);

这里说明一下CURLOPT_POSTFIELDS这个参数如果是POST字符串时,可以用形如“name=value&...”的字符串,如果post文件,就必须要用数组,并且文件名格式为"@绝对路径",这是 CURL 会帮你做 multipart/form-data 编码。
 
也就是说 post请求的时候  参数形式 可以是“name=value&...” 也可以是数组形式$data['name']=value,,如果只传个$data那将无法接受

我应该找个CURL的手册看,比用google快多了,欲速则不达呀。

有话要说