无法在CDetailView Yii 1.1中显示图片

时间:2018-07-23 14:44:35

标签: php yii

我正在学习PHP Yii 1.1 我正在尝试在创建新用户时上传图片并在视图中显示图片(在CDetailView中)。

在上传图片过程中,我可以将图片的名称保存在数据库中,并将图片保存在banner文件夹中的protected文件夹中。

我现在想在视图中显示图片,我尝试了所有发现的解决方案,但仍然无法使用。

<h1>View User #<?php echo $model->id; ?></h1>

<?php 
//die(Yii::app()->baseUrl . '/protected/banner/' . $model->picture);
  $this->widget('zii.widgets.CDetailView', array(
      'data'=>$model,
      'attributes'=>array(
          'id',
          'username',
          'address',
          'email',
           array(
             'name'=>'picture',
             'type'=>'raw',
             'value'=>CHtml::image(Yii::app()->baseUrl . '/protected/banner/' . $model->picture),
           )
      ),
)); ?>

我通过执行以下命令检查了图像URL,它为我提供了保存图像的正确路径:

die(Yii::app()->baseUrl . '/protected/banner/' . $model->picture);

1 个答案:

答案 0 :(得分:0)

不允许访问protected目录以保护应用程序的所有内部文件。如果要链接到其中的文件,则需要在protected目录之外创建此目录:

   array(
     'name'=>'picture',
     'type'=>'raw',
     'value'=>CHtml::image(Yii::app()->baseUrl . '/banner/' . $model->picture),
   )