У меня есть два файла: один для загрузки изображения, а другой - для извлечения из базы данных и представления его на веб-странице. Однако изображение появляется только как сломанный значок изображения. Я не понимаю, почему.Отображение изображения из SQL BLOB с PHP
Благодарим за любую помощь заранее.
HTML-форма:
<form action="index.php" method="POST" enctype="multipart/form-data">
<label for="image">File:</label>
<input type="file" name="image">
<input type="submit" value="Upload">
</form>
РНР, чтобы загрузить его (подключение к БД остается ниже, но он отлично работает):
//file stuff
$file= $_FILES['image']['tmp_name'];
if(!isset($file))
echo "Please select an image";
else {
$image=addslashes(file_get_contents($_FILES['image']['tmp_name']));
$imageName=addslashes($_FILES['image']['name']);
$imageSize=getimagesize($_FILES['image']['tmp_name']);
if(!$imageSize)
echo "Thats not an image you mong";
else {
//upload
$query="INSERT INTO store VALUES('','$imageName','$image')";
$sendQuery=mysql_query($query);
if(!$sendQuery)
echo "This is embarressing. It didn't work";
else {
$lastid=mysql_insert_id();
echo "Image was uploaded. <br>Your image:";
echo "<img src=get.php?id=$lastid/>";
}
}
}
РНР для получения изображения (Снова соединение с БД отсутствует, но отлично работает):
$id=addslashes($_REQUEST(['id']));
$imageQuery="SELECT * FROM store WHERE id=$id;";
$sendImageQuery=mysql_query($imageQuery);
$image=mysql_fetch_assoc($sendImageQuery);
$image=$image['image'];
header("Content-type: image/jpeg");
echo $image;
Я специально упустил теги php и соединение db. – mickzer
попробуйте и посмотрите, работает ли он. Это проблема 9 раз из 10. – robbmj
В реальных файлах у меня есть теги php и соединение db. Я отметил выше, что это определенно не проблема. – mickzer