我正在尝试在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/>";
?>
答案 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 .......
给出的虽然有点小错误! ;)
谢谢大家!