我需要在我的网站上做的是使用Blob类型显示存储在Mysql数据库中的jpg图像列表(我不想使用任何其他方式)。但不是图像我得到这样的字符串
����$ExifMM*bj(1r2��i��SI'SI'Adobe Photoshop CS6 (Windows)2014:07:31 20:02:56�����&(."�HH����XICC_PROFILEHLinomntrRGB XYZ � 1acspMSFTIEC sRGB���-HP cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<�gTRC<�bTRC<�textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ �Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view��_.���\�XYZ L.....
这是代码......
<?php
// Create connection
$con=mysqli_connect("erossenses@localhost","erossenses","-----","my_erossenses");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM Racconti");
echo "<br>";
echo "<font style=\"font-family:Verdana; font-size:15px; color:maroon\"><b><u>Titolo</u></b></font>";
echo "<br>";
echo "<br>";
header('Content-type: image/jpeg');
while($row = mysqli_fetch_array($result)) {
echo $row['Immagine'];
echo "<br>";
}
mysqli_close($con);
?>
我哪里错了?
答案 0 :(得分:0)
您无法立即使用php生成多个图像。你一次只能做一个,所以你必须通过ajax来做。无论如何,这都是不可取的。您最好了解ajax和文件上传以及如何保护它们,而不是浪费时间。在mysql中存储图像是自杀,特别是对于初学者。你已经走上了错误的道路并且已经学习了危险的习惯。
提高你的技能,阅读手册http://php.net/或更好,获得一本高质量的PHP书。
答案 1 :(得分:0)
问题是你回应了许多不是形象的东西。如果设置header('Content-type: image/jpeg');
,浏览器将只获得图像数据(仅适用于一个图像)。
如果你真的必须使用数据库中的图像,那么解决方案就是创建一个额外的文件,假设image.php?id=1
获取图像的id并仅显示该特定图像。您可以在img标记的src中使用此文件。
答案 2 :(得分:0)
尝试以下代码
header(“Content-length:$ fileSize”); header(“Content-type:$ fileType”); header(“Content-disposition:download; filename = $ fileName”); echo $ fileData;
希望文件大小,名称,类型和数据存储在表格中。