Сначала я добавил полный исходный код для просмотра. но он имеет некоторую проблему с форматом, и весь код был испорчен в формате HTML. Итак, теперь я прошу шаг за шагом. 1) Я загрузил файл изображения в свою базу данных MySQL. (он не имеет ошибки, то есть загружен успешно) 2) Получение его обратно в браузер из базы данных MySQL. Это также не проблема (в некоторых условиях) a) Он печатает ОК, если я печатаю его перед тегом HTML. б) Я не могу видеть какой-либо основной дизайн HTML после печати изображения в браузере. c) Если я печатаю его внутри тега html. Он показывает некоторые специальные символы и цифры, то есть значение, которое мы видим в phpmyadmin, если мы выполним запрос (выберите изображение из pix;)
Итак, может ли кто-нибудь помочь мне распечатать изображение, извлекая изображение из базы данных MySql? Или может ли кто-нибудь преобразовать эту базу данных с сохраненного образа из MySQL в реальный образ, чтобы сохранить его на жесткий диск, чтобы увидеть его/отредактировать?
Здесь вы делаете фундаментальную ошибку. Ресурс изображения всегда сохраняется и запрашивается в отдельном файле, а не в исходном HTML-тексте страницы, в которую вы хотите встроить его.
Такой отдельный файл можно назвать, например, getimage.php
.
Он будет извлекать данные изображения из базы данных (например, из записи с идентификатором 890) и выводить ее, например, так:
... code to fetch the image ....
header("Content-type: image/jpeg"); // or image/gif, image/png....
echo $imageData;
На странице HTML вы должны встроить его, используя
<img src="getimage.php?id=890">
Существует теоретическая возможность иметь данные изображения непосредственно в источнике HTML, но это не то, что вы хотите.
Ответ прост:
Не храните изображения в базе данных.
Сохраните его на диске.
Он устранит все эти проблемы для вас.
Как и в случае с другими ответами, лучшим решением является разделение изображения с исходным кодом html.
Если вам абсолютно необходимо, чтобы изображение было частью страницы и не использует Internet Explorer, можно вставить изображение на страницу.
он должен быть таким простым (например, png) как:
<img src="data:<?php echo $mimeType ?>;base64,<?php echo chunk_split(base64_encode($imageData)); ?>" />
Это работает только в браузерах не IE (я не уверен в IE8, поскольку на данный момент у меня его нет).
Просто убедитесь, что вы правильно используете тип mime (например, image/png для png).
Немного больше информации: http://www.greywyvern.com/code/php/binary2base64