加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – 使用codeigniter在webroot之外提供图像

发布时间:2021-08-28 03:46:14 所属栏目:大数据 来源: https://www.jb51.cc
导读:我正在使用Codeigniter并将上传的文件存储在Web根目录之外作为安全预防措施,以便无法从浏览器等直接访问它们或上传文件夹. 我的结构是这样的: private|_application|_system|_uploadspublic_html|_index.PHP 我的问题是,是否有Codeigniter功能,类似于CakePH

我正在使用Codeigniter并将上传的文件存储在Web根目录之外作为安全预防措施,以便无法从浏览器等直接访问它们或上传文件夹.

我的结构是这样的:

private
|_application
|_system
|_uploads
public_html
|_index.PHP

我的问题是,是否有Codeigniter功能,类似于CakePHPs sendFile我可以用来提供图像.

我知道我可以将图像存储在Web根目录中并将上传类型限制为图像,但我不想这样做.

我也知道我可以编写一个image.PHP样式脚本,它接受文件路径并返回一个图像标题,但在我走这条路线之前,我想知道是否有一个更好的/预定义的方法来专门用CodeIgniter做这个?

解决方法:

我建议你制作一个带有处理图像请求功能的控制器.

简单的例子:

<?PHP
class Img extends CI_Controller {

    public function jpg($file)
    {
             // validate $file here, very important!
             $path = '../../uploads/' . $file;
             header('Content-type: image/jpeg');
             readfile($path);
    }
}
?>

现在你可以将你的img src指向:

<img src="<?PHP echo base_url('img/jpg/myimage.jpg') ?>" />

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读