我可以使用php从mysql数据库中检索单个图像。
现在我想要检索多个图像。
这是一段代码:
<?php
--db connection code--
$sql = "SELECT image FROM try WHERE status='0'";
$result = mysql_query("$sql") or die("Invalid query: " . mysql_error());
while ($row = @mysql_fetch_assoc($result))
{
// set the header for the image
header("Content-type: image/jpeg");
echo mysql_result($result, 0);
echo '<br>';
}
?>
执行此代码时,仅显示表格中的第一个图像。 如何检索多个图像?
答案 0 :(得分:1)
您正在使用Content-type: image/jpeg
,这意味着它只能返回一个图像,因为浏览器只会期望一个。如果要返回多个图像进行下载,则必须采取一些解决方法。
一种选择是首先将文件打包成一个文件(如ZIP存档),然后将其推送给用户。
或者,如果您不想将其作为下载推送,请创建一个HTML页面,其中包含指向图片的图片链接。每个链接当然只返回一个。
答案 1 :(得分:0)
您需要在result_mysql
$count=0;
while ($row = @mysql_fetch_assoc($result))
{
// set the header for the image
header("Content-type: image/jpeg");
echo mysql_result($result,$count);
$count++;
}
请勿使用错误抑制器@
注意:请不要在新代码中使用mysql *函数 在较新版本中删除使用mysqli *或PDO
答案 2 :(得分:0)
由于 Content-type:image / jpeg 仅返回单个图像,因此应考虑在数据库表中保存图像的路径。稍后,在获取所有这些内容并回显html中的源元素时,您将不会遇到任何问题。