【问题标题】:PHP display images from databasePHP 显示数据库中的图像
【发布时间】:2015-06-19 20:40:14
【问题描述】:

所以我正在尝试为我正在为朋友建立的网站显示数据库中的图像。他希望能够上传图片,并将其显示在首页。

我的图片上传工作正常。将其作为 BLOB 保存在数据库中。

我开始着手在单独的文件中显示图像。我让它在我的测试网站上运行,图像显示了他想要的方式。但后来我把代码移到了实际的网站上,得到了它需要的样子,但它没有用。

我最终在我的测试网站上再次尝试,一切正常。

对于某些人来说,它不能在实际网站上运行,但它在我的测试网站上运行良好。

实际网站比我的测试网站获取更多信息。

这是我在测试网站上使用的代码。

image.php

$query = mysql_query("SELECT * FROM images LIMIT 1");
while($row = mysql_fetch_assoc($query)){

    $image_id = $row['id'];
    echo "<img src=showimage.php?id=".$image_id.">";
}

这是我从数据库中抓取图像并显示它的方式。

showimage.php

include 'inc/db.php';

$id = addslashes($_REQUEST['id']);

$image = mysql_query("SELECT image FROM sites WHERE id = '$id'");
$image = mysql_fetch_assoc($image);
$image = $image['image'];

header("Content-type: image/png");

echo $image;

在测试网站上使用该代码可以正常工作,那里没有问题。

这是我的实际网站代码。

sites.php

$select = mysql_query("SELECT * FROM sites");
            while($row = mysql_fetch_assoc($select)){

                $image_id = $row['id'];

                echo '
                    <tr class="bottom"><td>'.$row['host'].'</td>
                    <td>'.$row['currency'].''.$row['price'].' every '.$row['payment'].'</td>
                    <td>'.$row['domain'].'</td>
                    <td>'.$row['paid_currency'].''.$row['paid_domain'].'</td>
                    <td>'.$row['features'].'</td>
                    <td>
                        <span title="Edit '.$row['id'].'"><a href="edit.php?id='.$row['id'].'"><img src="images/edit.png" alt="Edit"></a></span>
                        <span title="Delete '.$row['id'].'"><a href="inc/delete.php?id='.$row['id'].'"><img src="images/delete.png" alt="Delete"></a></span>
                    </td>
                    <td><img src=showimage.php?id='.$image_id.'></td></tr>
                    ';
            }

使用 showimage.php 文件从数据库中获取图像,但根本不起作用。

标签: php mysql


【解决方案1】:

如果您打算使用数据库,请考虑使用 imagecreatefrompng() 函数,具体取决于 img 是如何放入数据库的。

另外,尝试使用 $id = (int)$_GET['id']; 代替 addlashes(),然后检查是否为 $id &gt; 0。最后,+1 将图像存储在文件系统上而不是作为 BLOB。

[并在此处插入 mysql_query-is-deprecated-use-the-PDO-extension 讲座]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    • 2018-04-02
    • 2012-10-12
    相关资源
    最近更新 更多