php - 无法从数据库加载图像

时间:2015-11-03 17:40:06

标签: php

我正在尝试在php中设计一个显示数据库图像的页面。或者我只想说图像的位置在数据库中。

但是,当它显示图像时..但它会打印图像路径..这意味着它正在获取图像路径而没有任何问题。

这是我的代码:

<?php

$con = mysqli_connect("localhost", "root", "", "foodies");
if(mysqli_connect_errno()){
    echo "Failed to connect to mysql";
    mysqli_connect_error();
}
   $sql = "select img, name from products";
   $result = $con->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        $img = $row["img"];
        $name = $row["name"];
        //$srcc = "C:\wamp\www\foodies\images";
        //$quality=100;
        //echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
        echo "<img src='".$row['img']."' width=200 height=200/>";

        ?>

4 个答案:

答案 0 :(得分:0)

我认为您不了解<img>标记的内容。 src属性需要是一个URL,告诉您的Web浏览器如何访问图像,而不是本地文件路径。 (可以使用URL来访问本地文件,但这似乎不是您正在做的事情,这无论如何都无法帮助您制作支持Web的软件。)

答案 1 :(得分:0)

从数据库显示图像的最佳方法是将图像路径保存在数据库表中,然后使用Data URLS Schemes。 试试这个:

<?php $con = mysqli_connect("localhost", "root", "", "foodies");
if(mysqli_connect_errno()){
echo "Failed to connect to mysql";
}
$sql = "select img, name from products";
$result = $con->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$img = $row["img"];
$name = $row["name"];

echo "<img src="data:image/jpeg;base64,<?php echo base64_encode( $img); ?>" width=200 height=200/>";
?>

$ img是图像文件名,没有扩展名。假设您已将图像保存在文件夹“image”中,图像文件扩展名为jpeg。 我希望这有用。

答案 2 :(得分:0)

while($row = mysql_fetch_array($result)) {
 if($row['file_location']=="")
{
//your code
}
else
{
?>
<a href="uploads/<? echo $row['file_location']?>" target="new">VIEW IMAGE</a>
<?php
}
}

答案 3 :(得分:0)

很抱歉迟到的回复。这已经解决了。问题是我从根驱动器开始提供位置,而不是从实际存储图像的Web文件夹的根目录开始。 例如:网站和图片位于C:\ WAMP \ my_site \ images \ 而不是从网站根文件夹提供位置&#34; \ my_site \ images \&#34;我是从C:\ WAMP .......

给出的

虽然有点小错误! ;)

谢谢大家!