tp3.2.2多文件上传时出现的问题

浏览:7764 发布日期:2015/02/10 分类:求助交流 关键字: 文件上传 异常 环境
表单部分: 
<input type="file" name="photo1" >
<input type="file" name="photo2" >
<input type="file" name="photo[]" >
<input type="file" name="photo[]" >
这两种提交的方式可以同时使用也可以单独使用
控制器: $upload = new \Think\Upload();// 实例化上传类
        $upload->maxSize = $size ;// 设置附件上传大小
        $upload->exts = $type;// 设置附件上传类型
        $upload->rootPath = './Application/Uploads/'; // 设置附件上传根目录
        $upload->replace = true;
        $upload->subName = $subname;//文件子目录

        foreach($_FILES as $key => $value){
            if(count($_FILES[$key]) == count($_FILES[$key],1)){//判断$_FILES变量是否是二维数组
                $info = $upload->uploadOne($_FILES[$key]);// 如果不是二维数组,使用单文件依次上传的方法
                unset($_FILES[$key]);
                $arr[$key] = $info;
                if(!$info){
                    $this->errorMsg($upload->getError());
                    exit;
                }
            }
        }
        if(count($_FILES)){
            $info = $upload->upload();// 如果是二维数组,使用批量上传文件的方法(上传文件时,每个文件域的name属性是未知的或者以数组形式定义的)
            if(!$info){
                $this->errorMsg($upload->getError());
                exit;
            }
            $arr['array'] = $info;//数组上传的返回信息全部在键名为array的
        }
        return $arr;
现在出现了很奇怪的现象,在本地开发的时候,怎么上传都是正确的。都是一旦部署到服务器,不管表单那边是何种情况,一次上传一张都是正确的,一旦上传多张,就会失败,比如上传3张,返回的结果是3个相同的结果,文件也只上传了一个。另外说明一点,文件域已photo1命名的是已经上传,可以修改的文件域,文件域已photo[]命名的是新建需要上传的,我这么做是为了保证一个操作可以同时完成新增和修改图片。怀疑是不是环境有什么模块我没开?
最佳答案
评论( 相关
后面还有条评论,点击查看>>