tp3.2多文件上传不同路径存储

浏览:222 发布日期:2019/04/26 分类:功能实现 关键字: upload 文件上传
在一个form表单中有多个文件提交,并根据name存储在不同位置
首先是html端<input type='file'name='file1[]'/><input type='file' name='file2'/>然后是php端:if($_FILES){//图片上传处理
    $upload = new \Think\Upload();// 实例化上传类
    $upload->maxSize   =     5000000;// 设置附件上传大小
    $upload->exts      =     array('pem','txt');// 设置附件上传类型
    foreach($_FILES as $k=>$v){
        if($k=='file1'){
            $upload->saveName='';//上传文件的保存规则,支持数组和字符串方式定义
            $upload->subName='file1'.$id;//子目录创建方式,采用数组或者字符串方式定义
            $upload->rootPath  =     './public/upload/file/'; // 设置附件上传根目录
            $info   =   $upload->upload(array(file1=>$v));
            // 上传文件
            if($info){
                foreach($info as $k=>$v){
//拼接数据库表格字段值,存储文件名称
                    if($k==0){
                        $data['file1']=$v['savename'];
                    }else{
                        $data['file1'].=','.$v['savename'];
                    }
                }
            }else{
                $return['file']='fail';//返回值,提示文件上传失败
            }
        }elseif($k=='file2'){
            $upload->autoSub=false;//自动使用子目录保存上传文件 默认为true
            $upload->saveName='';//上传文件的保存规则,为空不改变文件名字
            $upload->rootPath  =     './'; // 设置附件上传根目录
            $info   =   $upload->upload(array(file2=>$v));
            if($info){
                $data['file2']=$info['file2']['savename'];
            }else{
                $return['file']='fail';
            }
        }
    }
}else{
    $return['file']='no';//返回值,提示没有文件上传
}
//可以在保存成功后用unlink删除旧文件或者保存失败删除新文件
//unlink("./public/upload/……/文件名");
//unlink("./文件名");//网站根目录下的文件
就可以根据name上传到不同位置
评论( 相关
后面还有条评论,点击查看>>