脚本宝典收集整理的这篇文章主要介绍了php – Yii CMultiFileUpload选择多个文件,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
将多个文件上载到数据库以进行注册
尝试了很多方法,使用CMultiFileUpload小部件使多个文件上传可行.我已经检查并遵循以下链接 –
http://www.yiiframework.com/forum/index.php/topic/47665-multiple-file-upload/
但仍然没有运气!
<?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',),
码
在控制器中
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,请注明来意。