Помогите решить проблему с созданием изображения на php

Статус
Закрыто для дальнейших ответов.

bor10811

Well-Known Member
Регистрация
04.04.2017
Сообщения
79
Суть проблемы в следующем: на сайт заходит пользователь, проходит тесты, после чего получает сертификат в формате png или jpg. Мне нужно сгенерировать изображение на png или jpg. Описание различных функций для этого я нашёл. Но есть две проблемы.

1. Если я использую встроенную в php библиотеку GD, то она при создании изображения пытается отправить заголовки. Разумеется, это не выходит, так как WordPress заголовки ранее уже отправил. Отсюда вопрос: как можно заставить WordPress не отправлять заголовки?

2. Можно обойти проблему, а именно создавать физический файл на хостинге, а не просто выводить изображение в браузер. Это даже лучше, так как в этом случае все сертификаты можно хранить на случай их утраты клиентом, чтобы можно было отправить копию при соответствующем запросе. Но я не нашёл в GD никаких функций для генерации физического файла. Есть ли библиотеки, позволяющие это сделать?
 

Volly

Well-Known Member
Регистрация
21.03.2012
Сообщения
833
Библиотеки тут ни причём. Картинка делается при помощи библиотечных функций в памяти, а дальше файл-картинку можно сохранять на диске сервера, подключать в html-коде в страницу, загружать на диск пользователя, если это надо пользователю. Можно посылать или не посылать заголовки в зависимости от задач.

Этот код отдаст картинку в браузер.

$i = imageCreate(200, 300); // создание картинки
// тут ещё нужный код рисования
Header("Content-type: image/jpeg"); / предупреждение браузера, что будет передана картинка
imageJpeg($i); / передача в браузер картинки.
Если строку с Header убрать, а в место imageJpeg($i) использовать imageJpeg($i, 'filename.jpg'), то картинка сохранится на сервере.
 

bor10811

Well-Known Member
Регистрация
04.04.2017
Сообщения
79
Разобрался. Спасибо.
 
Статус
Закрыто для дальнейших ответов.
Верх Низ