显示受保护文件夹中的图像 [英] Display images from protected folder

查看:146
本文介绍了显示受保护文件夹中的图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Yii中有一个受保护的文件夹,我希望在网站中显示一些这些图像。我尝试了以下代码,它在网站/索引控制器中工作,它只返回我想要的图像。

I have a protected folder within Yii and I'm looking to display some of those images within the site. I've tried the following code and it works within the site/index controller in that it returns just the image I wanted.

但是当我试图将代码分开时没用。任何帮助表示赞赏。

However when I tried to separate the code it didn't work. Any help is appreciated.

型号

    public function getImage() // will take file identifier as @param       
{

    $imageID = '2562584569'; // will eventually be dynamically assigned

    $image = Images::model()->find('tmp_name=:id', array('id' => $imageID)); 

    $dest = Yii::getPathOfAlias('application.uploads');

    $file = $dest .'/' . $image->tmp_name . '.' . $image->extension;

    if(file_exists($file)){
    ob_clean();
    header('Content-Type:' . $image->logo_type);
    readfile($file);
    exit;
    }

}

在视图中

CHtml::link('<img src="' . Yii::app()->request->baseUrl .'/images/image" />', array('product/index', 'id'=>$data['product_id'], 'slug'=> $data['product_slug']));

谢谢

Jonnny

推荐答案

我这样做了

CHtml::link('<img src="' . $this->createUrl('/images/image', array('data'=>$data['data'])) . '" />', array('product/index', 'id'=>$data['product_id'], 'slug'=> $data['product_slug']));

型号

public function actionImage($data)       
{

$image = Images::model()->find('tmp_name=:data', array('id' => $data)); 

$dest = Yii::getPathOfAlias('application.uploads');

$file = $dest .'/' . $image->tmp_name . '.' . $image->extension;

if(file_exists($file)){
ob_clean();
header('Content-Type:' . $image->logo_type);
readfile($file);
exit;
}

}

感谢所有帮助

这篇关于显示受保护文件夹中的图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆