curl高低版本傳輸檔案
阿新 • • 發佈:2019-02-15
這幾天因為要呼叫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);