1. Model
Langkah pertama yang mesti dilakukan adalah mendefinisikan attribut di dalam class yang digunakan. Kemudian definisikan pula validasi rulenya untuk memastikan extensi file yang bisa diunggah.
class Mahasiswa extends CActiveRecord2. View
{
public $image;
//......
public function rules()
{
return array(
array('image','required','on'=>'create'),
array('image','file','types'=>'jpg, gif, png',
'allowEmpty'=>true,
'maxSize'=>1024*1024*1,
'tooLarge'=>'File terlalu besar, maksimal file 1 MB.'),
//.......
);
}
}
Di dalam class form tambahkan kode untuk menampilkan field untuk mengunggah file.
<?php $form=$this->beginWidget('CActiveForm', array(3. Controller
'id'=>'mahasiswa-form',
'enableAjaxValidation'=>false,
'htmlOptions'=> array('enctype'=>'multipart/form-data'),
)); ?>
<div>
<?php echo $form->labelEx($model,'image');?>
<?php echo $form->fileField($model,'image');?>
<?php echo $form->error($model,'image');?>
</div>
...........
Kemudian di dalam controller definisikan action method
if(isset($_POST['Mahasiswa']))Setelah berhasil mengunggah file, langkah selanjutnya adalah menampilkannya di view. Untuk menampilkan file gambar bisa menggunakan kode di bawah ini :
{
$model->attributes=$_POST['Mahasiswa'];
$gambar=CUploadedFile::getInstance($model,'image');
$model->image=CUploadedFile::getInstance($model,'image');
$nm_file=$model->image;
if($model->save()){
$gambar->saveAs(Yii::app()->basePath.'/../images/'.$nm_file);
$this->redirect(array('view','id'=>$model->nim));
}
}
array('type'=>'raw',
'label'=>'Foto',
'value'=>html_entity_decode(CHtml::image(<Url_File>,'alt',
array('width'=>85, 'height'=>85)))
),
Hasilnya :
Good Luck!









