上传图片非必须的解决方法【完美解决 - 谢谢大神hoogl】

浏览:1006 发布日期:2013/09/03 分类:求助交流
写在CommonAction.class.php公共类里面的上传配置    protected function _upload(){
        import('@.ORG.Net.UploadFile');
        // 导入上传类
        $upload = new UploadFile();
        // 设置上传文件大小
        $upload->maxSize            = 2*1024*1024;
        // 设置上传文件类型
        $upload->allowExts          = array('jpeg','jpg','gif','png');
        // 设置附件上传目录
        $upload->savePath           = './Uploads/';
        // 设置上传文件规则
        $upload->saveRule           = 'uniqid';
        // 启用子目录保存文件
        $upload->autoSub            = true;
        // 子目录创建方式
        $upload->subType            = 'date';
        // 采用时间戳命名
        $upload->saveRule           = 'time';
        if($upload->upload()){
            // 取得成功上传的文件信息
            $uploadList = $upload->getUploadFileInfo();
            $_POST['pic'] = $uploadList[0]['savename'];
        }else{
            // 捕获上传异常
            $this->alert($upload->getErrorMsg());
        }
    }
写在需要上传图片的Action里面的,已经写上 class ***Action extends CommonAction    public function add(){
        import('@.ORG.Category');
        $list = M('Customcat')->order('nid asc,id asc')->select();
        $list = Category::unlimitedForLevel($list);
        $this->list = $list;
        if($_POST != null){
            $info = D('Customcat');
            // 自动验证
            if (!$info->create()){
                $this->alert($info->getError());
            }else{
                // 载入图片上传
                if(!empty($_FILES)){
                    $this->_upload();
                }
                $info->add();
                $this->alert('添加成功',U('add'));
            }
        }
        $this->display();
    }
模版代码<input class="text-value" name="pic" type="file"/>如果不上传图片就弹出提示“没有选择上传文件”

这个是强制性上传,但是新闻中有的不需要上传图片,还有在更新的时候不需要更新当前图片怎么办?

求大神们指点!!!
最佳答案
评论( 相关
后面还有条评论,点击查看>>