Yii CMultiFileUpload selecciona varios archivos
Tengo la respuesta
Para cargar múltiples archivos en la base de datos para el registro, he probado muchas maneras de hacer que la carga de múltiples archivos sea factible usando el widget CMultiFileUpload. Ya he comprobado y seguido los siguientes enlaces:
http://www.yiiframework.com/forum/index.php/topic/47665-multiple-file-upload/
Yii carga de archivos múltiples
PERO todavía no hay suerte !!
Error: almacenando los datos pero los archivos no se están cargando, por favor ayuda Aquí está mi código:
En forma
<?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',
)
);?>
Código de controlador
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);
}
}
Agregar el widget CActiveForm
'htmlOptions' => array(
'enctype' => 'multipart/form-data',
),
Por lo tanto, puede usar este código para cargar múltiples archivos en yiiframework