У меня есть база данных, в которой хранятся изображения в поле BLOB MySQL. Я настраиваю сценарий, который выбирает и отображает изображения на основе идентификатора в URL-адресе, и я также сделал это, если вы добавили? Resize = 800×600, это изменит размер изображения (в данном случае – до 800×600).
Хост, который я использую, не имеет установленного Imagemagick и не позволит мне делать это сам, поэтому мне нужно использовать библиотеку GD для изменения размера изображения.
Но я еще не нашел функцию, такую как readImageBlob()
, поэтому я не могу отредактировать двоичную строку, которую я получаю из базы данных, без предварительного создания временного файла, редактирования его, получения из него двоичной строки, отправки ее на браузера, а затем удаляет его (что слишком много шагов, тем более, что при получении он будет получать несколько тысяч обращений).
Итак, мой вопрос заключается в том, есть ли способ реплицировать readImageBlob
с помощью GD PHP без прохождения временного решения по файлу?
imagecreatefromstring () должен сделать трюк. Я думаю, что пример функции в руководстве – это почти то, что вам нужно:
$im = imagecreatefromstring($data); if ($im !== false) { header('Content-Type: image/png'); imagepng($im); imagedestroy($im); } else { echo 'An error occurred.'; }
Где $data
– ваша двоичная строка данных из базы данных.