使用存储在数据库中的'路径/文件名'显示存储在服务器中的图像
问题描述:
我只是想问,如果有人可以向我解释为什么我不能将我的图像显示到我创建的网站。我将'路径/文件名'存储在数据库的其中一列中。图像图像存储在服务器中。使用存储在数据库中的'路径/文件名'显示存储在服务器中的图像
<?php foreach $data as $val{?>
<img src="<?php echo base_url();?><?php echo $val->file;?>">
<?php }?>
控制器
$path = $_FILES["addFile"]["name"];
$extension = pathinfo($path, PATHINFO_EXTENSION);
$file_sc = 'uploads/screenshots/'.date("Ymdhms.").$extension;
$new_name = date("Ymdhms").".".$extension;
$target_dir = "./uploads/screenshots/";
$target_file = $target_dir.$new_name;
$type = $_FILES["addFile"]["type"];
$allowed = array('image/jpeg', 'image/png', 'image/gif');
if($_FILES["addFile"]["name"]){
if(!in_array($type,$allowed)){
echo 'File type is not allowed.';
} else {
move_uploaded_file($_FILES["addFile"]["tmp_name"],$target_file);
$this->MyModel->add($file_sc);
}
型号
function add_kudos($file_sc)
{
$query = $this->db->query("insert into tbl_kudos(file) values('$file_sc');
}
这是怎么看起来像在数据库 - > '上传/截图/ 20170224040231.jpg'
文件名在服务器 - > 20170224040231.jpg
图像未显示。即使我的网址是正确的。 有人可以向我解释为什么它是这样的?我是新来的。
答
创建一个PHP文件中像这样命名showimg.php:
<?php
$img = $_REQUEST['img'];
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime=finfo_file($finfo, $img) ;
finfo_close($finfo);
header("Content-type: $mime");
$fp = fopen($img, 'rb');
fpassthru($fp);
?>
使用您的代码来获得你要显示的图像的路径从一个变种名为$ myimgpath数据库,然后用这样的:
<img src="<?php echo base_url()."showimg.php?img=".$myimgpath;?>">
+0
已经解决了。谢谢 – azis
没有足够的代码来支持这个 –
等待我编辑它 – azis