我在web端的多圖片上傳測試是正確的,可以上傳圖片,也可以錄入資料庫,但是在ios就不行,只能上傳一張圖片,會把其它圖片覆蓋掉,這是什麼原因呢,求助,急急急!!!!!!!!
Model層
public function up(){
if($_FILES['upload']['error'][0]==0){ //調用檔案上傳的方法 $info = $this ->upload(); foreach($info as $info_v){
// 截取檔案尾碼名,判斷是什麼類型檔案
$suffix = substr(strrchr($info_v['upload'],'.'),1);
// 判斷檔案分類是否給定
// 判斷檔案類型
// 圖片
if($suffix=='jpg'||$suffix=='gif'||$suffix=='png'||$suffix=='jpeg'){ $type=1; }else
// 視頻
if($suffix=='mp4'){ $type=2; }else
// 音樂
if($suffix=='mp3'){ $type=4; }else{ $type=3; }
// 將上傳檔案添加到資料庫
$id = $this->add(array('user_id'=>1,'upload_url'=>$info_v['upload'],'c_time'=>NOW_TIME,'size'=>$info_v['size'],'type'=>$type)); } if($id){ return $id; }else{ return '上傳失敗'; } }}
// 上傳方法
protected function upload(){
// $files = $_FILES['upload'];
$upload = new \Think\Upload();// 執行個體化上傳類 //C方法是用來讀取配置資訊 $upload->maxSize = C('maxSize') ;// 設定附件上傳大小 $upload->exts = C('exts');// 設定附件上傳類型 $upload->savePath = C('savePath'); // 設定附件上傳目錄 $upload->saveName = C('saveName'); // 設定上傳檔案的儲存規則 $upload->rootPath = C('rootPath'); // 上傳檔案 $info = $upload->upload(); // print_r($info);die; $img_arr=array(); if(!$info) { // 上傳錯誤提示錯誤資訊 return $upload->getError(); }else{ foreach ($info as $k=>$v){ //拼接檔案儲存體路徑 $img_url = C('img_path').$v['savepath'].$v['savename']; $img_arr[$k]['upload']= $img_url; $img_arr[$k]['size']= $v['size']; } return $img_arr; }}
Controller 層
// 上傳檔案
public function index(){ if(IS_POST){ // 調用模型層的方法 $id = $this->upload->up(); if(is_numeric($id)){ $data = array( 'success'=>true, 'message'=>'上傳成功', 'data'=>'', ); echo json_encode($data); } }}
回複內容:
我在web端的多圖片上傳測試是正確的,可以上傳圖片,也可以錄入資料庫,但是在ios就不行,只能上傳一張圖片,會把其它圖片覆蓋掉,這是什麼原因呢,求助,急急急!!!!!!!!
Model層
public function up(){
if($_FILES['upload']['error'][0]==0){ //調用檔案上傳的方法 $info = $this ->upload(); foreach($info as $info_v){
// 截取檔案尾碼名,判斷是什麼類型檔案
$suffix = substr(strrchr($info_v['upload'],'.'),1);
// 判斷檔案分類是否給定
// 判斷檔案類型
// 圖片
if($suffix=='jpg'||$suffix=='gif'||$suffix=='png'||$suffix=='jpeg'){ $type=1; }else
// 視頻
if($suffix=='mp4'){ $type=2; }else
// 音樂
if($suffix=='mp3'){ $type=4; }else{ $type=3; }
// 將上傳檔案添加到資料庫
$id = $this->add(array('user_id'=>1,'upload_url'=>$info_v['upload'],'c_time'=>NOW_TIME,'size'=>$info_v['size'],'type'=>$type)); } if($id){ return $id; }else{ return '上傳失敗'; } }}
// 上傳方法
protected function upload(){
// $files = $_FILES['upload'];
$upload = new \Think\Upload();// 執行個體化上傳類 //C方法是用來讀取配置資訊 $upload->maxSize = C('maxSize') ;// 設定附件上傳大小 $upload->exts = C('exts');// 設定附件上傳類型 $upload->savePath = C('savePath'); // 設定附件上傳目錄 $upload->saveName = C('saveName'); // 設定上傳檔案的儲存規則 $upload->rootPath = C('rootPath'); // 上傳檔案 $info = $upload->upload(); // print_r($info);die; $img_arr=array(); if(!$info) { // 上傳錯誤提示錯誤資訊 return $upload->getError(); }else{ foreach ($info as $k=>$v){ //拼接檔案儲存體路徑 $img_url = C('img_path').$v['savepath'].$v['savename']; $img_arr[$k]['upload']= $img_url; $img_arr[$k]['size']= $v['size']; } return $img_arr; }}
Controller 層
// 上傳檔案
public function index(){ if(IS_POST){ // 調用模型層的方法 $id = $this->upload->up(); if(is_numeric($id)){ $data = array( 'success'=>true, 'message'=>'上傳成功', 'data'=>'', ); echo json_encode($data); } }}
ios掉用你介面的時候是不是多圖一次性請求的!還是多圖多次上傳!