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掉用你接口的时候是不是多图一次性请求的!还是多图多次上传!
