У меня проблема с сохранением изображений из базы данных 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, я получаю этот результат:
Я был бы очень благодарен за любую помощь, потому что я пробовал много разных кодов, но я не мог найти решение и все еще получал тот же результат.
Спасибо.
Вы должны избавиться от строки readfile
поскольку она не нужна, а также mysqli_real_escape_string
из строки ниже. В противном случае это выглядит так, как будто оно может работать, но не зная, как вы храните изображения, я не могу точно знать. Например, если вы сохранили их в кодировке base64, вам нужно будет эхо-версию строки с расширением base64.
$r = mysqli_query($conn,$q);
вместо$r = mysqli_query("$q",$conn);