Вот мой код:
$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl' . 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr' . 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r' . '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg=='; $data = base64_decode($data); $im = imagecreatefromstring($data); if ($im !== false) { header('Content-Type: image/png'); imagepng($im); imagedestroy($im); } else { echo 'An error occurred.'; }
Я хотел бы сохранить изображение, сгенерированное таким образом, в каталог. Как мне это сделать?
Это правильный синтаксис для imagepng
:
imagepng($im, "/path/where/you/want/save/the/png.png");
Согласно руководству PHP :
bool imagepng (resource $ image [, string $ filename [, int $ quality [, int $ filters]]])
filename – путь для сохранения файла.
Если не установлен или NULL, поток необработанного изображения будет выводиться напрямую.
Ниже приведен код:
$data = 'code in bytes'; // replace with an image string in bytes $data = base64_decode($data); // decode an image $im = imagecreatefromstring($data); // php function to create image from string // condition check if valid conversion if ($im !== false) { // saves an image to specific location $resp = imagepng($im, $_SERVER['DOCUMENT_ROOT'].'folder_location/'.date('ymdhis').'.png'); // frees image from memory imagedestroy($im); } else { // show if any error in bytes data for image echo 'An error occurred.'; }
Пожалуйста, предложите, если какой-нибудь другой лучший способ сделать!