gpt4 book ai didi

php - 来自 Blob 数据 PHP 的 splinter 图像?

转载 作者:行者123 更新时间:2023-12-04 05:12:52 25 4
gpt4 key购买 nike

好的,所以我知道有人问过这个问题,但我仍然无法弄清楚我的代码出了什么问题。

我正在尝试将图像上传到数据库并将其存储为 blob,以便它可以在页面上输出。一切正常,一切都存储在 mysql 数据库中,但是当我尝试回显 blob 时,它给了我一个损坏的图像。这是我的代码。

$file = $_FILES['image']['tmp_name'];

if(!isset($file)) {
echo "Please select image.";
} else {
$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name = $_FILES['image']['name'];
$image_size = getimagesize($_FILES['image']['tmp_name']);

if($image_size==FALSE) {
echo 'that is not an image.';
} else {
if (!$insert = mysql_query("INSERT INTO photo VALUES ('', '$image_name', '$image')")) {
echo "Problem uploading image";
} else {
$lastid = mysql_insert_id();
echo "Image uploaded.<p />Your image:<p /><img src=ShowPics.php?id=$lastid>";
}
}

}



?>


<form action="Photosite.php" method="POST" enctype="multipart/form-data">
<input type="file" name="image"></br></br>
<input type="submit" value="Submit">
</form>

还有我的 PHP 页面
 <?php

$id = addslashes($_REQUEST['id']);
$image = mysql_query("SELECT * FROM photo WHERE id=$id");
$image = mysql_fetch_assoc($image);
$image = $image['image'];


header("Content-type: image/jpeg");
echo $image;

?>

任何帮助表示赞赏???我只是不明白为什么我的图像损坏了......

最佳答案

第一行有一个空格,在 <?php 之前.如果它在您的代码中是这样的,那就是问题所在。在回显图像之前不应输出任何内容。

如果您确定当前文件是正确的,则可以执行

<?php
ob_start();

// do stuff

ob_end_clean();
header("Content-type: image/jpeg");
echo $image;

使用此解决方法,如果 de DB 中的 blob 正确,则会显示图像。

您可以在 phpmyadmin using transformations 中查看 BLOB .

附言 addslashes仅当您将值放在斜杠之间时才有帮助,所以
$id = addslashes($_REQUEST['id']);
$image = mysql_query("SELECT * FROM photo WHERE id='$id'");

关于php - 来自 Blob 数据 PHP 的 splinter 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14669035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com