如何使用 php 从 mysql 显示多个图像(blob)?
我正在尝试使用 PHP 和 MySql 数据库显示多个图像,即使使用 while 循环我也没有得到所有图像,我只得到一个,我的意思是表中的第一个图像。有什么问题吗?
我正在使用表ID_IMAGE(int,pk,autoincrement)
和myImage(blob)
$query = mysql_query("SELECT myImage FROM image");
while($data=mysql_fetch_array($query)) {
header('Content-type: image/jpg');
echo $data['myImage'];
}
I'm trying to display multiple images using PHP and MySql database, even if using the while
loop I don't get all of the images, I only get one, I mean the first one in the table. What's the problem ?
I'm using a table ID_IMAGE (int, pk, auto increment)
and myImage (blob)
$query = mysql_query("SELECT myImage FROM image");
while($data=mysql_fetch_array($query)) {
header('Content-type: image/jpg');
echo $data['myImage'];
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
解决这个问题的一种可能的方法是使用单独的脚本来动态输出图像的内容,例如。 :
image.php
并在需要显示存储在数据库中的图像时调用它,例如。在循环内:
但是将图像存储在数据库中会对您的服务器造成影响,除非它们非常小或者您有充分的理由 为此,您应该只将它们的物理位置存储在磁盘上。
如果您希望向用户隐藏图像位置或控制访问,也可以使用此方法,但对于这种情况有更好、更快的替代方法。
A possible way to solve this problem is to have a separate script to dynamically output the contents of the image eg. :
image.php
and call it whenever you need to show images stored in your DB eg. inside your loop:
But storing images in the database will take a toll on your server and unless they're really small or you have a good reason to do so, you should only store their physical location on the disk.
You can also use this approach if you wish to hide image location from your users, or control access, but there are better and faster alternatives for that case.
只需提及通过编码将图像直接嵌入到 html 中的可能性,您可以使用以下方法:
优点:
缺点:
有关基本编码图像的更多信息:
Just to mention the possibility to embed the images directly in html by encoding them, you can use this:
Pro:
Con:
For more information about base encode images: