Как сохранить изображение с помощью PHP и GD - PullRequest
1 голос
/ 17 сентября 2011

Я создал динамическое изображение, используя библиотеки php и gd следующим образом,

imagecopy ($iOut,$imgBuf[0],$left,$top,0,0,imagesx($imgBuf[0]),imagesy($imgBuf[0]));
imagedestroy ($imgBuf[0]);


ob_start();
    imagepng($iOut);
    printf('<img src="data:image/png;base64,%s"/>', base64_encode(ob_get_clean()));

Как сохранить это изображение в локальном каталоге для дальнейшего использования. Любая помощь, пожалуйста

Спасибо

Ответы [ 3 ]

10 голосов
/ 17 сентября 2011

Посмотрите документацию imagepng на http://php.net/manual/en/function.imagepng.php

Вы можете передать второй параметр функции как

bool imagepng ( resource $image [, string $filename [, int $quality [, int $filters ]]] )

Так что вы можете сделать

imagepng($iOut, $filename_to_save_to);

тогда вы можете просто отобразить изображение в браузере как

echo '<img src="' . $public_visible_path_to_saved_file . '"/>';

Чтобы это работало, я бы выбрал $filename_to_save_to в качестве файла в подкаталоге вашего веб-корня. Э.Г.

если ваш веб-корень /var/www, я бы выбрал /var/www/uploaded_images/filename.png, тогда вы можете просто отобразить его, указав $public_visible_path_to_saved_file как uploaded_images/filename.png

4 голосов
/ 17 сентября 2011

Это будет работать, если вы хотите сохранить файлы на вашем сервере:

ob_start();
imagepng($iOut);
$data = ob_get_clean();
file_put_contents('/my/file.png',$data);
0 голосов
/ 11 февраля 2015

функция рендеринга изображения с помощью php GD

   function render_image_page() {

    header ('Content-type: image/png');

    $im = @imagecreatetruecolor(120, 20) or die('Cannot Initialize new GD image stream');
    $text_color = imagecolorallocate($im, 233, 14, 91);
    imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
    imagepng($im);
    imagedestroy($im);exit;

}
...