这几天因为要调用java接口所以要传输文件 我选择了curl传文件,这边说一个坑,就是我在文件传输的时候用了原来的@后边直接加上文件绝对路径。
然而一直没有错误就感觉一直没有发送出去,后来我用了win下的试了一下,直接抛出警告说这个方法已经过时了,请用curlfile函数代替。到现在我才知道原来是自己的电脑一直没开警告报错,win下我一直开着的,这个问题纠结看好一段时间。
下面就上代码看看curl传输文件和数组数据,
$beforePath = '/Applications/MAMP/htdocs/photo/1.jpg'; $afterPath = '/Applications/MAMP/htdocs/photo/2.jpg';//绝对路径 $data = [ 'top' => curl_file_create($beforePath), 'after' => curl_file_create($afterPath), 'partnerId' => $data['0']['uid'], 'mobile' => $data1['0']['phone'], 'email' => $data1['0']['email'], 'realName' => $data['0']['real_name'], ]; curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //禁用证书 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch,CURLOPT_BINARYTRANSFER,true); curl_setopt($ch, CURLOPT_POSTFIELDS,$data); curl_setopt($ch, CURLOPT_URL, $url); $info= curl_exec($ch); curl_close($ch);
以上就介绍了 curl高低版本传输文件,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。