php – Yii CMultiFileUpload选择多个文件

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – Yii CMultiFileUpload选择多个文件脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
得到了答案

将多个文件上载到数据库以进行注册
  尝试了很多方法,使用CMultiFileUpload小部件使多个文件上传可行.我已经检查并遵循以下链接

http://www.yiiframework.com/forum/index.php/topic/47665-multiple-file-upload/

Yii多文件上传

但仍然没有运气!

错误:存储数据但文件上传
请帮忙
这是我的代码

通知

<?PHP  $this->widget('CMultiFileUpload',array(
                   'model'=>$model,'attribute' => 'Documents','accept'=>'jpg|gif|png|doc|docx|pDF','denied'=>'Only doc,docx,pdf and txt are Allowed','max'=>4,'remove'=>'[x]','duplicate'=>'Already Selected',)
);?>

控制器代码

public function actionRegistration()
    {
        $model=new PatientRegistration;

        $this->PErformAjaxValidation($model);

        if(isset($_POST['PatientRegistration']))
        {
            $model->attributes=$_POST['PatientRegistration'];
            if($model->validate())
            {
                if(isset($_POST['PatientRegistration']))
                {
                    if($filez=$this->uploadMultifile($model,'documents','/Images/'))
                    {
                        $model->documents=implode(",",$filez);
                    }
                    $model->attributes=$_POST['PatientRegistration'];
                    if($model->save())
                    {
                        //  $this->render('registration',array('model'=>$model));
                        $this->redirect(array('/patientregistration/patientview','id'=>$model->register_id));
                    }
                }
            }
        }
        $this->render('registration',array('model'=>$model));
    }
    public function uploadMultifile($model,$attr,$path)
    {
        /*
         * path when uploads folder is on sITe root.
         * $path='/uploads/doc/'
         */
        if($sfile=CUploadedFile::getInstances($model,$attr)){
            foreach ($sfile as $i=>$file){
                // $formatName=time().$i.'.'.$file->getExtensionName();
                $fileName = "{$sfile[$i]}";
                $formatName=time().$i.'_'.$fileName;
                $file->saveAs(Yii::app()->basePath.$path.$formatName);
                $ffile[$i]=$formatName;
            }
            return ($ffile);
        }
    }

添加CActiveForm小部件

'htMLOptions' => array(
        'enctype' => 'multipart/form-data',),

因此,您可以使用此代码在yiiframework中上传多个文件

解决方法

这是Yii Framework中最简单的多文件上传代码

在控制器中

public function actionCreate()

    {
        $model = new Upload;
       echo Yii::app()->basePath.'/Images/';
       if(isset($_POST['Upload']))
        {
    if($filez=$this->uploadMultifile($model,'Document','/Images/'))
   {

   $model->Document=implode(",$filez);
   }
   $model->attributes=$_POST['Upload'];
    if ($model->save())
            {
               $this->redirect(array('view','id' => $model->idUpload));
        }
        }
        $this->render('create',array(
            'model' => $model,));

    }
//Function for uploading and saving Multiple files
    public function uploadMultifile ($model,$path)
    {
    /*
     * path when uploads folder is on site root.
     * $path='/uploads/doc/'
     */
    if($sfile=CUploadedFile::getInstances($model,$attr)){

      foreach ($sfile as $i=>$file){  

        // $formatName=time().$i.'.'.$file->getExtensionName();
        $fileName = "{$sfile[$i]}";
          $formatName=time().$i.'_'.$fileName;
         $file->saveAs(Yii::app()->basePath.$path.$formatName);
         $ffile[$i]=$formatName;
         }
        return ($ffile);
       }
     }

通知

<?PHP $form=$this->beginWidget('CActiveForm',array(
    'id'=>'upload-form',// Please note: When you enable ajax validation,make sure the corresponding
    // controller action is handling ajax validation correctly.
    // There is a call to performAjaxValidation() commented in generated controller code.
    // See class documentation of CActiveForm for details on this.
    'enableAjaxValidation'=>false,'htmlOptions' => array(
        'enctype' => 'multipart/form-data',)); ?>


<?PHP  $this->widget('CMultiFileUpload',array(
       'model'=>$model,'attribute' => 'Document',)
        );?>

脚本宝典总结

以上是脚本宝典为你收集整理的php – Yii CMultiFileUpload选择多个文件全部内容,希望文章能够帮你解决php – Yii CMultiFileUpload选择多个文件所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。