我正在学习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);
答案 0 :(得分:0)
不允许访问protected
目录以保护应用程序的所有内部文件。如果要链接到其中的文件,则需要在protected
目录之外创建此目录:
array(
'name'=>'picture',
'type'=>'raw',
'value'=>CHtml::image(Yii::app()->baseUrl . '/banner/' . $model->picture),
)