Dalam memasukkan data perusahaan atau data karyawan kita mungkin memasukkan data image. Data itu antara lain logo perusahaan atau foto karyawan. Dalam contoh kali ini kita akan membahas bagaimana mengupload logo perusahaan menggunakan Yii.

Misal field yang akan digunakan dalam database adalah logo. Kita akan menggunakan field dalam form adalah logoku dan kita akan menggunakan class CHtml.

  1. Untuk fomnya kita perlu tambahkan :    ‘htmlOptions’=>array(‘enctype’=>’multipart/form-data’)
    Contoh:

    <?php $form=$this->beginWidget(‘CActiveForm’, array(
        ‘id’=>’tbl-employee-form’,
        ‘enableAjaxValidation’=>false,
        ‘htmlOptions’=>array(‘enctype’=>’multipart/form-data’),
    )); ?>

  2. Untuk fieldnya kita dapat melakukan modifikasi:
        <div class=”row”>
            <?php echo $form->labelEx($model,’logo’); ?>
            <?php //echo $form->fileField($model,’logo’);
            echo CHtml::fileField(“logoku”);
            echo CHtml::tag(“img”,array(“src”=>$model->logo));
             ?>
            <?php echo $form->error($model,’logo’); ?>
        </div>

  3. Pada Controller kita dapat melakukan modifikasi:
                if ($_FILES[‘logoku’][‘name’])
                {
                    $mydir=”/upload/;
                    if (!file_exists(“.$mydir”))
                    {
                        mkdir(“./$mydir”);
                    }
                    $logo= $mydir. $_FILES[‘logoku’][‘name’];    
                    move_uploaded_file($_FILES[‘logoku’][‘tmp_name’],”.$logo”);
                    $model->logo=$logo;
                }
  4. Kemudian pada view kita bisa melakukan  modifikasi:
    $this->widget(‘zii.widgets.CDetailView’, array(
        ‘data’=>$model,
        ‘attributes’=>array(
            ‘company_name’,
            ‘tax_address’,
            array(
                ‘label’=>’Logo’,
                ‘type’=>’html’,
                ‘value’=>CHtml::tag(“img”,array(“src”=>$model->logo)),
            ),

            ‘remark’,
            ‘is_active’,
        ),
    ));

 

Kunjungi www.proweb.co.id untuk menambah wawasan anda.

  array(
            ‘label’=>’Logo’,
            ‘type’=>’html’,
            ‘value’=>CHtml::tag(“img”,array(“src”=>$model->logo)),
        ),

Upload image dengan Yii