Php 使用sql将图像从客户端发送到数据库
我试图显示存储在数据库中的图像。我知道将图像存储在数据库中不是最佳做法,但正是出于这个目的,这正是我所需要的。我的问题是,当我去显示图像时,我得到的只是一堆乱码,我猜这是代码中的图像,而不是我想要的视觉效果。当我使用标题标签来识别图像时,我得到的只是一个缩略图,表示它没有正确地读取图像。任何帮助都会很好 下面是我正在使用的代码。我尝试了两种方法,使用它在php或html中显示,但无法显示图像:Php 使用sql将图像从客户端发送到数据库,php,html,sql,image,Php,Html,Sql,Image,我试图显示存储在数据库中的图像。我知道将图像存储在数据库中不是最佳做法,但正是出于这个目的,这正是我所需要的。我的问题是,当我去显示图像时,我得到的只是一堆乱码,我猜这是代码中的图像,而不是我想要的视觉效果。当我使用标题标签来识别图像时,我得到的只是一个缩略图,表示它没有正确地读取图像。任何帮助都会很好 下面是我正在使用的代码。我尝试了两种方法,使用它在php或html中显示,但无法显示图像: while($row = mysql_fetch_array($result)) { $Long =
while($row = mysql_fetch_array($result))
{
$Long = $row['Long'];
$Lat = $row['Lat'];
$img = $row['file'];
echo "<b><center>Database Output</b><br><br>";
echo "<td>" .$row['file']."</td>";
echo "----";
echo "<td>" .$row['Lat']."</td></center>";
//echo "<td>" .$row['file']."</td>";
}
?>
<div id="map">
<img src="<? $img?>" alt="">
while($row=mysql\u fetch\u array($result))
{
$Long=$row['Long'];
$Lat=$row['Lat'];
$img=$row['file'];
回显“数据库输出
”;
回显“$row['file']”;
回声“---”;
回显“$row['Lat']”;
//回显“$row['file']”;
}
?>
“alt=”“>
感谢您的任何输入您可以将图像作为数据URI嵌入html页面
<img src="data:image/jpeg;base64,<?php echo base64_encode($img) ?>" />
“/>
这对于“大”文件来说是非常可怕的——你让浏览器无法缓存图像,迫使用户在每次加载页面时下载base64编码的数据
或者您有一个子脚本来提供实际的图像,并且有一些更像:
<img src="getimage.jpg?id=XXX">
及
如何在数据库中保存图像?什么是$row['file']
?目前我只是手动将其保存为一个blob,$row['file']是它保存在“可怕得可怕”中的列,不幸的是,这可能仍然是一个轻描淡写的lol。第二个建议FTW。刚刚尝试了第一个解决方案,它工作得很好,我知道这可能不是你所说的最好的解决方案,但它是有效的,这就是我所需要的,所以非常感谢你
<?php
$data = get_image_from_db($_GET['id']);
header('Content-type: image/jpeg');
echo $data;