php image retrieve不显示mysqli

时间:2015-10-10 11:02:57

标签: php mysqli

我有一个问题,从phpmyadmin数据库渲染存储的图像。

我有两个文件,第一个是image.php,假设从数据库中检索图像:

<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
$conn = mysqli_connect("hostname","username","password");
if(!$conn)
{
echo mysql_error();
}
$db = mysqli_select_db("imagestore");
if(!$db)
{
echo mysql_error();
}
$ano = $_GET['ano'];
$q = "SELECT aphoto,aphototype FROM animaldata where ano='$ano'";
$r = mysqli_query("$q",$conn);
if($r)
{

$row = mysqli_fetch_array($r);
$type = "Content-type: ".$row['aphototype'];
header($type);

readfile($ano);
echo mysql_real_escape_string.$row['aphoto'];
}
else
{
echo mysql_error();
}

?>

和show.php,假设显示检索到的图像:

 <?php
//show information
ini_set('display_errors',1);
error_reporting(E_ALL);

include "connect.php";


$q = "SELECT * FROM animaldata";
$r = mysqli_query($conn,$q);
if($r)
{
while($row=mysqli_fetch_array($r))
{
//header("Content-type: text/html");
echo "</br>";
echo $row['aname'];
echo "</br>";
echo $row['adetails'];
echo "</br>";

//$type = "Content-type: ".$row['aphototype'];
//header($type);
echo "<img src=image.php?ano=".$row['ano']." width=300 height=100/>";


}
}
else
{
echo mysql_error();
}
?>

当我尝试show.php时,我得到了这个结果:

enter image description here

我会非常感谢任何帮助,因为我尝试了许多不同的代码,但我找不到解决方案,仍然得到相同的结果。

谢谢。

1 个答案:

答案 0 :(得分:1)

您应该删除不需要的readfile行以及下面一行中的mysqli_real_escape_string。否则这看起来可以工作,但不知道你如何存储我无法确定的图像。例如,如果您将它们存储为base64编码,那么您需要回显base64已解码的字符串。