0

我能够使用 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>';
 }
?>

执行此代码,仅显示表中的第一个图像。如何检索多个图像?

4

3 回答 3

1

您正在使用Content-type: image/jpeg,这意味着它只能返回一张图像,因为浏览器只会期望一张。如果要返回多个图像以下载,则必须采取一些解决方法。

一种选择是首先将文件打包成一个文件(如 ZIP 存档),然后将其推送给用户。

或者,如果您不想将其作为下载推送,则创建一个 HTML 页面,其中包含指向您的图像的图像链接。当然,每个链接只会返回一个。

于 2013-09-20T08:59:55.250 回答
0

由于Content-type: image/jpeg仅返回单个图像,您应该考虑将图像的路径保存在数据库表中。稍后您将不会有任何问题获取所有这些并在您的 html 中回显源元素。

于 2013-09-20T09:32:16.147 回答
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_result

注意:请不要在新代码中使用 mysql* 函数,它们在新版本中被贬低使用 mysqli* 或 PDO

于 2013-09-20T09:01:41.387 回答