在之前的一篇随笔中,博主在调用curl命令上传文件时会经常出现上传方法过时的情况。如下图所示:
所以,我们只需要把上传方法换成创建CURLFile 类即可。如下所示
1 $ch = curl_init(); 2 $url = "自己请求的url"; 3 curl_setopt($ch,CURLOPT_URL,$url); 4 //捕获内容但不输出 5 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 6 //模拟发送POST请求 7 curl_setopt($ch,CURLOPT_POST,1); 8 //发送数据 9 /*$data = array("media" => "@D:wamp/www/wx/img/0.jpg");*/ 10 /*php5.5之后写法*/ 11 $path = "D:wamp/www/wx/img/0.jpg"; 12 $data = array("media" => new CURLFile(realpath($path))); 13 //发送POST请求时传递数据 14 curl_setopt($ch,CURLOPT_POSTFIELDS,$data); 15 //禁止服务器端校验SSL 16 curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false); 17 curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); 18 //执行curl 19 $outopt = curl_exec($ch); 20 //通过判断输出错误 21 if($outopt==false) 22 { 23 echo curl_error($ch); 24 } 25 else 26 { 27 echo $outopt; 28 } 29 //关闭 30 curl_close($ch);