利用php的curl库上传文件真的很方便
注意几点
1、只能是POST
2、可以不写头(平时的form有文件和无文件时发送的时候,)
3、postfields的时候,不要你傻傻的http_build_query,你越是这么做了。黑黑。。。就反而不一定对了
4、上传的文件用@来连接。
一个很小的例子
PHP代码
- $formAction = 'http://xxx/xxx/xx.upload.php';
- $postVals = array(
- // /var/www/www.jpg 这个地址是绝对地址哦。可以让程序读取
- // windows下面可能就是d:/xxx/xxx/xxx.jpg
- 'img'=>'@/var/www/xxx.jpg', //img就相当于表单中的<input type="file" name="img" />
- );
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $formAction); //登录地址
- curl_setopt($ch, CURLOPT_POST, 1); //这是POST数据
- curl_setopt($ch, CURLOPT_POSTFIELDS, ($postVals)); //http_build_query( $postData)); ,如果你真用http_build_query,不一定能成功。所以。。。还是有curl自己去组合吧
- $res = curl_exec($ch);
- curl_close($ch);
看看多简单,一下子就成功了