отобразить изображение, хранящееся в базе данных, как blob type.in PHP?

Сохраните изображение в базе данных как тип blob.
Но я не могу отобразить это изображение ниже, я дам код для отображения изображения.

Это даст вывод, как некоторые коды со специальными символами … Как правильно отобразить изображение. Я новичок в php`

<?php
while($row = mysql_fetch_assoc($result)){
$type=$row['type'];
header("content-type : $type");
echo $row['src'];
}
?>

0

Решение

Тебе нужно base64_encode

 echo '<img src="data:image/jpeg;base64,'.base64_encode( $row['src'] ).'"/>';

И просто совет: проще сохранить изображение на сервере и сохранить имя изображения в БД, чем сопоставлять

0

Другие решения

Вы должны сначала прочитать файл изображения, а затем вы можете повторить изображение. Я вставил образец кода ниже.

<?php
function base64_encode_image ($filename=string,$filetype=string) {
if ($filename) {
$imgbinary = fread(fopen($filename, "r"), filesize($filename));
return 'data:image/' . $filetype . ';base64,' . base64_encode($imgbinary);
}
}
?>
<img src="<?php echo base64_encode_image('img.png','png'); ?>"/>
0

Не использовать base64_encode()Это не очень хорошо с большинством браузеров. Вместо этого сделайте что-то вроде этого:

файл main.php (может быть простой HTML):

<img src="image.php?id=5"/>

файл image.php:

// replce this with your db-loading code
$image = read_from_db((int)$_GET['id']);

// important: this tells the client what kind of image you have
header('Content-Type: ' . $image->mime);

// give the browser an indication of the size of the image
header('Content-Length: ' . strlen($image->data));

// TODO Put other useful headers here

// send the actual image data to the browser
echo $image->data;
0