怎么在 CodeIgniter 中显示数据库中的图像?

本教程将介绍如何在 CodeIgniter 中显示数据库中的图像?的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

怎么在 CodeIgniter 中显示数据库中的图像? 教程 第1张

问题描述

我正在使用 CodeIgniter 2.1.0 和 MySQL 数据库.我已经通过表单上传了一张图片并成功地将其存储在上传目录中,并且我还成功地将图片的完整路径存储在我的数据库中.但我无法通过从我的数据库中调用完整路径来显示图像.

这是我的上传代码:

$image_path = realpath(APPPATH . '../uploads');

$config = array(
 'allowed_types' => 'jpeg|png|gif|jpg', 
 'upload_path' => $image_path, 
 'max_size' => 2097152, 
 'overwrite' => TRUE, 
 'file_name' => '_' . $i . '_'
);

$this -> load -> library('upload', $config);

当我在我的数据库中存储图像的完整路径时,它看起来像这样

C:/wamp/www/my_project/uploads/_1_.jpg

如果我尝试

<img src="<?php echo $data['screenshot'];?>" />
//($data['screenshot'] refers to the image location retrieved from database)

这在我的视图文件中,没有显示图像.我究竟做错了什么?请有人告诉我.标准流程是什么?

推荐答案

在您的数据库中,如果我理解正确,请问图像存储为 C:/wamp/www/my_project/uploads/_1_.jpg

因此,当您在图像路径中回显 img src 属性时,请问拥有

它不能作为您机器上的本地路径使用.我的文件系统上不会有那个图像.该图像需要可在网络服务器上访问.(就像你的 index.php 文件)

因此,您需要将图像存储为:

上传/_1_.jpg

然后执行 <img src="<?php echo $data['screenshot'];?>"/>

或将图像存储为:

_1_.jpg 和然后做

<img src="<?php echo sprintf("uploads/%s", $data['screenshot']);?>"/>

要清楚:您存储它的位置是正确的.但是,您不需要数据库中的完整路径,您只需要 Web 服务器路径.

好了关于怎么在 CodeIgniter 中显示数据库中的图像?的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。