如何使用Yii在视图中显示上传的图像

时间:2014-09-09 05:43:14

标签: php yii

我在显示上传的图片时遇到问题。 [webapp] / images / products /

的图像路径

第一: 我想在CCGridView中显示它。我写道:

<?php $this->widget('zii.widgets.grid.CGridView', array(
        'id'=>'image-grid',
        'dataProvider'=>$model->search(),
        'filter'=>$model,
        'columns'=>array(
            'id',
            'title',
            'filename',
            //this is the image displaying part
            array(
                'type' => 'raw',
                'value' => 'CHtml::image(Yii::app()->baseUrl . "/images/products/" . $data->filename)',
            ),
            'product_id',
            //
            array(
                'class'=>'CButtonColumn',
            ),
        ),
)); ?>

但结果只是这样: CCGridView

第二: 我也想在view.php中显示它

<?php if($model->filename) 
        $path = Yii::app()->baseUrl. '/../images/products/' . $model->id;
    echo CHtml::image($path,
            $model->title,
            array(
                'title' => $model->title,
                'style' => 'margin: 10px;',
    )); ?>

但结果是: view

请帮我解决这个问题。非常感谢!

2 个答案:

答案 0 :(得分:2)

尝试这可能有帮助:

CHtml::image(Yii::app()->baseUrl . "/../images/products/" . $data->filename);

并检查是否存在名为$ data-&gt; filename

的文件

答案 1 :(得分:0)

请试试这个..

"value"=>'($data->picture !=="") ? CHtml::image(Yii::app()->request->baseurl."/upload/technician/".$data->picture,"",array(\'width\'=>100, \'height\'=>50)) : ""',

我希望它能帮到你......