如何使用PHP和GD保存图像

8
我使用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个回答

19

请查看http://php.net/manual/en/function.imagepng.php上的imagepng文档。

你可以向函数传递第二个参数。

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保存为 Web 根目录下的子目录中的文件。例如,
如果您的 Web 根目录是/var/www,我会选择/var/www/uploaded_images/filename.png,然后您可以通过将$public_visible_path_to_saved_file指定为uploaded_images/filename.png来简单地显示它。

$iOut 在这里和问题中都没有被定义。 - ChrisDeDavidMindflowAU

5
如果您想将文件保存到服务器上,这将起作用:
ob_start();
imagepng($iOut);
$data = ob_get_clean();
file_put_contents('/my/file.png',$data);

-1

使用 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;

}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接