下面是我的代码:
$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.';
}
我想把这样生成的图像保存到一个目录中,该怎么做?
3条答案
按热度按时间ep6jt1vc1#
以下是
imagepng
的正确语法:根据PHP manual:
bool imagepng(资源$图像[,字符串$文件名[,int $质量[,int $过滤器]]])
filename-保存文件的路径。
如果未设置或为NULL,则直接输出原始图像流。
ubby3x7f2#
下面的代码将是有用的:
请建议如果一些其他更好的方式做!
liwlm1x93#
答:当你使用imagecreatefrom ...方法时,图像作为未压缩的位图加载到内存中。此时并不存在真正的图像类型。你可以使用image ...函数将其保存回你想要的任何类型。
来源:https://stackoverflow.com/a/7176074/3705191
但是如果我们想确定字节串的文件类型呢?
imagecreatefromstring( $data_string )
之前,* 您作为该函数的参数提供的实际***$data_string****可以 * 用于确定图像类型:您必须将得到的字符串与常见图像文件的MIME类型(
image/jpeg
、image/png
、image/gif
等)进行比较。检查此List of Common MIME Types以供参考。