Intereting Posts
Получите метаинформацию, заголовок и все изображения любой веб-страницы, используя php PHP – как эффективно читать большие удаленные файлы и использовать буфер в цикле Как использовать активную загрузку здесь, я имею в виду только одну переменную вместо двух. Поэтому мне не нужно запускать два отдельных запроса Использование PHP для выполнения команд терминала PDF, созданный с помощью FPDF и способ сохранения и извлечения PDF Как анализировать большие данные через запрос POST Magento перечисляет продукты, которые не входят в категорию Смешивание переменной PHP с строковым литералом Создание экземпляра класса PHP. Использовать или не использовать круглые скобки? Как однозначно идентифицировать компьютер? Почему silverstripe устанавливает мои таблицы страниц как устаревшие Доступ к переменным GET с помощью PHP + .htaccess PayPal с ошибкой возврата REST PHP 400 Вывод многомерного json-массива в таблицу php Добавление CSS в PHP

PHP: извлечение изображений из MySQL Blob непосредственно в тег <img>

Я сохранил свои изображения в (средних) BLOB-полях и хочу получить их, встроенные в мои PHP-созданные веб-страницы.

Когда я тестирую извлечение сохраненных изображений, используя

header('Content-type: ' . $image['mime_type']); echo $image['file_data']; 

все выглядит просто отлично.

Тем не менее, я еще не нашел способ получить изображение (изображения) чисто в середине моих документов. Например, используя

 $image = $row['file_data']; echo '<img src="data:image/jpeg;base64,'.$image['file_data'].'" alt="photo"><br>'; 

…или…

 $im = imageCreateFromString($image); 

Я просто заканчиваю кучей шестнадцатеричного мусора на экране.

Я интимно сохранил изображения, используя:

 ob_start(); imagejpeg($resizedImage, null, 100); $content = ob_get_contents(); ob_end_clean(); $sql = sprintf( "insert into images (filename, mime_type, file_size, file_data, event_id) values ('%s', '%s', %d, '%s',%d)", mysql_real_escape_string($fileName), mysql_real_escape_string($mimeType), $imageSize, mysql_real_escape_string($content), $eventID ); $result = $cn->query($sql); с ob_start(); imagejpeg($resizedImage, null, 100); $content = ob_get_contents(); ob_end_clean(); $sql = sprintf( "insert into images (filename, mime_type, file_size, file_data, event_id) values ('%s', '%s', %d, '%s',%d)", mysql_real_escape_string($fileName), mysql_real_escape_string($mimeType), $imageSize, mysql_real_escape_string($content), $eventID ); $result = $cn->query($sql); 

Кто-нибудь ПОЖАЛУЙСТА, у вас есть фрагмент рабочего кода, чтобы успешно отображать сохраненный .jpg mid-file в выходе PHP?

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

Однако помните, что старые версии IE не поддерживают такие встроенные изображения! Кроме того, браузер не может кэшировать такое изображение, кроме как вместе с его содержащей HTML-страницей.

Вы должны создать какой-то «сервер изображений». Вы уже близко к этому. Например, создайте что-то вроде image.php, которое получит имя изображения и сгенерирует его на лету. Так, например, скажем, вы хотите получить изображение somePic.jpg. Вы можете получить его через:

image.php? имя = somePic.jpg

 <?php header('Content-type: ' . $image['mime_type']); echo $image['file_data']; ?> 

Ваш тег:

 <img src='image.php?name=somePic.jpg' /> 

Или более общий:

 echo "<img src='image.php?name={$image['filename']}' />" 

Почему бы просто не вызвать вашу тестовую страницу image.php , а затем вызвать ее из браузера на отображаемой странице:

 <img src="image.php?imageid=123" alt="photo" />