웹 측의 다중 이미지 업로드 테스트는 정확합니다. 이미지를 업로드하고 데이터베이스에 입력할 수 있지만 iOS에서는 이미지 하나만 업로드할 수 있어 다른 이미지를 덮어쓰게 됩니다. 이유가 뭐예요? 도와주세요, 긴급해요, 긴급해요! ! ! ! ! ! ! !
모델 레이어
공개 함수 up(){
<code> if($_FILES['upload']['error'][0]==0){ //调用文件上传的方法 $info = $this ->upload(); foreach($info as $info_v){</code>
//파일 접미사 이름을 가로채서 파일 형식을 확인하세요
<code> $suffix = substr(strrchr($info_v['upload'],'.'),1);</code>
// 파일 분류 부여 여부 확인
// 파일 형식 결정
//사진
<code> if($suffix=='jpg'||$suffix=='gif'||$suffix=='png'||$suffix=='jpeg'){ $type=1; }else</code>
//동영상
<code> if($suffix=='mp4'){ $type=2; }else</code>
//음악
<code> if($suffix=='mp3'){ $type=4; }else{ $type=3; } </code>
//업로드된 파일을 데이터베이스에 추가
<code> $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 '上传失败'; } } } </code>
//업로드 방법
<code>protected function upload(){</code>
// $files = $_FILES['업로드'];
<code> $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; } } </code>
컨트롤러 레이어
//파일 업로드
<code>public function index(){ if(IS_POST){ // 调用模型层的方法 $id = $this->upload->up(); if(is_numeric($id)){ $data = array( 'success'=>true, 'message'=>'上传成功', 'data'=>'', ); echo json_encode($data); } } }</code>
웹 측의 다중 이미지 업로드 테스트는 정확합니다. 이미지를 업로드하고 데이터베이스에 입력할 수 있지만 iOS에서는 이미지 하나만 업로드할 수 있어 다른 이미지를 덮어쓰게 됩니다. 이유가 뭐예요? 도와주세요, 긴급해요, 긴급해요! ! ! ! ! ! ! !
모델 레이어
공개 함수 up(){
<code> if($_FILES['upload']['error'][0]==0){ //调用文件上传的方法 $info = $this ->upload(); foreach($info as $info_v){</code>
//파일 접미사 이름을 가로채서 파일 형식을 확인하세요
<code> $suffix = substr(strrchr($info_v['upload'],'.'),1);</code>
// 파일 분류 부여 여부 확인
// 파일 형식 결정
//사진
<code> if($suffix=='jpg'||$suffix=='gif'||$suffix=='png'||$suffix=='jpeg'){ $type=1; }else</code>
//동영상
<code> if($suffix=='mp4'){ $type=2; }else</code>
//음악
<code> if($suffix=='mp3'){ $type=4; }else{ $type=3; } </code>
//업로드된 파일을 데이터베이스에 추가
<code> $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 '上传失败'; } } } </code>
//업로드 방법
<code>protected function upload(){</code>
// $files = $_FILES['업로드'];
<code> $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; } } </code>
컨트롤러 레이어
//파일 업로드
<code>public function index(){ if(IS_POST){ // 调用模型层的方法 $id = $this->upload->up(); if(is_numeric($id)){ $data = array( 'success'=>true, 'message'=>'上传成功', 'data'=>'', ); echo json_encode($data); } } }</code>
iOS가 인터페이스를 사용할 때 한 번에 여러 이미지를 요청합니까? 아니면 여러 장의 사진을 여러 번 업로드하세요!