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!


om kok error sih pas copas koding di viewnya ??
BalasHapuserrornya apa mas?
Hapuscode buat nampilin gambarnya itu ditaruh dimana gan?
BalasHapusprotected/views/namamodel/view.php
HapusLetakkan di DetailView
widget('zii.widgets.CDetailView', array(
BalasHapus'data'=>$model,
'attributes'=>array(
'nim',
'nama',
'alamat',
'create_time',
'last_update_time',
array('type'=>'raw',
'label'=>'Foto',
'value'=>html_entity_decode(CHtml::image(Yii::app()->baseUrl.'/images/'.$model->image,'alt',
array('width'=>85, 'height'=>85)))
),
),
)); ?>
gan kalo buat terhubung ke databasenya gmna?
BalasHapusKoneksi ke database maksudnya gan?
Hapussetting di protected/config/main.php
paste kode berikut :
//database setting are configured in database.php
'db'=>array(
'class'=>'CDbConnection',
'connectionString'=>'mysql:host=127.0.0.1;dbname=coba',
'username'=>'root',
'password'=>'',
'tablePrefix'=>'tbl_',
'emulatePrepare'=>true,
),
coba script nampilkan gambarnya yg lengkap gan
BalasHapus