我有一个问题,从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时,我得到了这个结果:
我会非常感谢任何帮助,因为我尝试了许多不同的代码,但我找不到解决方案,仍然得到相同的结果。
谢谢。
答案 0 :(得分:1)
您应该删除不需要的readfile
行以及下面一行中的mysqli_real_escape_string
。否则这看起来可以工作,但不知道你如何存储我无法确定的图像。例如,如果您将它们存储为base64编码,那么您需要回显base64已解码的字符串。