【问题标题】:Display Image from the path stored in mysql从存储在mysql中的路径显示图像
【发布时间】:2016-05-03 04:49:44
【问题描述】:

我已将图像上传到文件夹并将路径存储到 MySQL 数据库中。路径已保存,图片已成功插入文件夹。但我的问题是当我从存储在 db 中的路径显示图像时。它不显示。当我回显图像路径时,它会显示图像路径。我检查了我的浏览器设置,一切正常。这是我的代码。请任何人帮忙。

$up=move_uploaded_file($_FILES['profile']['tmp_name'],dirname($_SERVER['DOCUMENT_ROOT']).'/htdocs/upload/image/'.$name);
$path = dirname($_SERVER['DOCUMENT_ROOT']).'/htdocs/upload/image/';
$location = $path . $_FILES['profile']['name'];
$ins=mysqli_query($con, "INSERT into image (url) values ('$location')");
echo 'image uploaded and stored';
echo "$location"; //It displays D:/xampp/htdocs/upload/image/Chrysanthemum.jpg
echo '<img width="250" height="250" src= "'.$location.'"/>';//It doesn't display anything.

【问题讨论】:

  • 使用相对路径。只需使用upload/image/ 作为路径。
  • 仅将/uploads/image 存储在您的数据库中或仅存储图像名称
  • 您正在传递图像绝对路径。改用upload/image/Chrysanthemum.jpg 试试
  • 您正在将物理路径传递给图像。图像的绝对 URL 路径或文档根目录的相对路径。图片显示为http://,而不是D:/

标签: php mysql


【解决方案1】:

试试这个:

尝试使用relative path 而不是absolute path。相对路径可帮助您从任何服务器、任何目录运行脚本。

$path = 'upload/image/';
$location = $path . $_FILES['profile']['name'];

move_uploaded_file($_FILES['profile']['tmp_name'], $location);

$ins = mysqli_query($con, "INSERT into image (url) values ('$location')");
echo 'image uploaded and stored';
echo '<img width="250" height="250" src= "'.$location.'"/>';

注意:您需要在同一个文件夹名称upload/image 脚本运行的目录。根据您的要求,您想显示来自 mysql 的图像,但没有这样做,因此您需要再次查询该表。

【讨论】:

  • @Jebil,所以将此标记为您的答案,以便其他人从中获得帮助。
【解决方案2】:

你可以使用下面的代码在目录中获取上传图片的路径,此代码将显示你的图片

$location ='/upload/image/'. $_FILES['profile']['name']; // write your project dir name before upload if "upload is not your project dir"

$ins=mysqli_query($con, "INSERT into image (url) values ('$location')");
echo 'image uploaded and stored';

echo '<img width="250" height="250" src= "'.$location.'"/>';//It doesn't display anything.

【讨论】:

    猜你喜欢
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    • 2011-07-28
    相关资源
    最近更新 更多