【问题标题】:Output images stored in database MySQL with php使用 php 输出存储在数据库 MySQL 中的图像
【发布时间】:2017-01-23 21:22:29
【问题描述】:

片段:

$connect = //connect to db;
$db = $connect->prepare("SELECT profilepicture FROM user WHERE uname = $uname");
$db->execute();
$db->bind_result($img);

...

echo $img;

信息:
- 我将image.bin 存储在 db 的表的列中
- 在十六进制编辑器中打开 image.bin 会显示十六进制代码(文件头显示它是 PNG 文件)
- echo $img 不输出图片

问题: - 如何输出存储在db中的图片?

【问题讨论】:

  • 问题:如何现在输出它?或者:我们应该如何调试我们看不到的代码?
  • Display image from sql的可能重复
  • 我去看看。谢谢
  • 不要将文件保存在数据库中。 stackoverflow.com/a/41235395/267540
  • 看!上传文件夹中的文件并将其名称存储在数据库中!那是应该使用的方法

标签: php mysql


【解决方案1】:

表格

<form action="upload.php" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>

这是你上传文件的方式

$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);

if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)){
    echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
    echo "Sorry, there was an error uploading your file.";
}

$img = basename($_FILES["fileToUpload"]["name"]);

Your insert query
$db = $connect->prepare("UPDATE user SET profilepicture =? WHERE uname = ?");
$db->bind_param("si",$img,$uname);
$db->execute();

取自 w3schools

【讨论】:

    猜你喜欢
    • 2017-07-22
    • 2015-10-26
    • 2015-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 2011-05-07
    相关资源
    最近更新 更多