Before save the image into database, i created one 'text' field in mysql table to save the image code.
We can show the image in CDetailview from database table of yii framework. Here i used showphoto_from_database() function to display the image from database. showproof_from_image_folder() is used to fetch uploaded image url from database and display.
view.php
<?php $this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
array(
'name'=>'photo_id',
'type'=>'raw',
'value'=>$model->showphoto_from_database(),
),
array(
'name'=>'vproof_id',
'type'=>'raw',
'value'=>$model->showproof_from_image_folder(),
)
),
));
?>
model.php
Image From Database
public function showphoto_from_database(){
if($this->bitmap!=''){
//return "data:image/png;base64,".$photomodel->bitmap;
return CHtml::image("data:image/png;base64,".$photomodel->bitmap,
'No Image',
array('width'=>150,'height'=>100)
);
}else{
$url=Yii::app()->baseUrl."/img/noimage.jpg";
return CHtml::image($url,'No Image');
}
}
Image From Database With Link
<?php
// From Database
public function showphoto_from_database(){
if($this->photo_id!=''){
$photomodel=Photos::model()->findByPk($this->photo_id);
if($photomodel && $photomodel->bitmap!=''){
//return "data:image/png;base64,".$photomodel->bitmap;
$img="data:image/png;base64,".$photomodel->bitmap;
//return image with link
return "<a href='".$img."' target='_blank'>".
CHtml::image($img,'No Image',array('width'=>100,'height'=>100))."</a>";
}else{
$url=Yii::app()->baseUrl."/img/noimage.jpg";
return CHtml::image($url,'No Image');
}
}
}
From Image Folder
// From Image Folder
public function showproof_from_image_folder(){
if(isset($this->vproof_id) && $this->vproof_id!=''){
$imgurl=$this->vproof->path;
$imgurl=Yii::app()->baseUrl."/".$imgurl;
$imgurl_path=Yii::app()->basePath."/../".$this->vproof->path;
if(file_exists($imgurl_path)){
return "<a target='_blank' href='".$imgurl."'>
<img src='".$imgurl."' width='100px' height='100px' />
</a>";
}
}
return "NotSet";
}
?>