最近一個app IOS的 用thinkphp寫介面 實名認證中 必須要上傳一張自己的圖片
如何用thinkphp 寫上傳圖片的介面 有沒有源碼 請註明每步操作 萬分感謝!!
回複內容:
最近一個app IOS的 用thinkphp寫介面 實名認證中 必須要上傳一張自己的圖片
如何用thinkphp 寫上傳圖片的介面 有沒有源碼 請註明每步操作 萬分感謝!!
//上傳圖片方法 可以放在父類以便以後繼承直接調用
//兩種上傳方式一種是file另一種是base64
public function picupload(){ if (!IS_POST) { die(''); } //base64上傳方式(主要是為了處理不支援 input file) $smeta = $_POST['smeta']; if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $smeta, $result)) {//base64上傳 $data = base64_decode(str_replace($result[1], '', $smeta)); $dataname = './Uploads/' . uniqid() . '.' . $result[2]; if (file_put_contents($dataname, $data)) { $this->ajaxoutput($dataname); //返回資料結構自行封裝 }else{ $this->ajaxerror('上傳出錯'); } } //處理file上傳 這裡是調用thinkphp封裝好\Think\Upload這個上傳類 可以學習寫thinkphp官方這個類是怎麼寫的 $config = array( 'rootPath' => './Uploads/', 'savePath' => '', 'maxSize' => 11048576, 'saveName' => array('uniqid', ''), 'exts' => array('jpg', 'gif', 'png', 'jpeg'), 'autoSub' => false, ); $upload = new \Think\Upload($config);// $info = $upload->upload(); //開始上傳 if ($info) { //上傳成功 $first = array_shift($info); if (!empty($first['url'])) { $url = $first['url']; } else { $url = C("TMPL_PARSE_STRING.__UPLOAD__") . $first['savename']; } $this->ajaxoutput($url); } else { //上傳失敗,返回錯誤 $this->ajaxerror($upload->getError()); }}
app post上來
然後php中$_FILES接收,沒有什麼特殊的