【问题标题】:Displaying images stored in the server using 'path/filename' stored in the database使用存储在数据库中的“路径/文件名”显示存储在服务器中的图像
【发布时间】:2017-07-15 15:05:33
【问题描述】:

我只想问是否有人可以向我解释为什么我不能在我正在创建的网站上显示我的图像。我将“路径/文件名”存储在数据库的一列中。而图像图像存储在服务器中。

<?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');
}

这是它在数据库中的样子 -> 'uploads/screenshots/20170224040231.jpg'

服务器中的文件名->20170224040231.jpg

图片未显示。即使我的网址是正确的。 有人可以向我解释为什么会这样吗?我是新手。

【问题讨论】:

  • 没有足够的代码来支持这个
  • 等我编辑一下

标签: php image codeigniter


【解决方案1】:

第一个文件名与第二个文件名不同!

您可以使用urlencode() 然后打印您的图片网址

【讨论】:

  • 它与图像的相同路径相呼应。为什么我不能在网络上查看它?但是,如果我使用 url 转到目录,我可以查看图像。它在代码中回显的路径与url一致。
  • 你的根目录下有任何 .htaccess 文件吗?
【解决方案2】:

创建一个名为 showimg.php 的 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 的 var 中从数据库中获取您想要显示的图像的路径,然后使用以下内容:

<img src="<?php echo base_url()."showimg.php?img=".$myimgpath;?>">

【讨论】:

    【解决方案3】:

    试试这个

    <?php foreach ( $data as $val ) { ?>
       <img src="<?php echo base_url( $val->file ); ?>">
    <?php } ?>
    

    【讨论】:

    • 你应该使用双引号。
    • 双引号不起作用,因为它在 src 属性中使用。
    • '$val-&gt;file' 是字符串,不是变量
    猜你喜欢
    • 1970-01-01
    • 2014-12-10
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-17
    • 2020-02-12
    相关资源
    最近更新 更多