這幾天因為要呼叫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教程有興趣的朋友有所幫助。