保存GD PHP创建的图像,点击该图像

时间:2013-05-15 23:42:27

标签: php image gd href

我在标签中显示一个图像,该图像由GD PHP通过合并两个图像创建。 像这样的东西

$('#output_images').append(<img src="MergeIcons.php?icon1='+firstIcon+'&icon2='+secondIcon+'" /></li>');

这会正确输出图像,现在我想将其作为可点击的图像,点击下载图像。

这样的东西
$('#output_images').append('<li><a href="DownloadNewIcon.php?file="MergeIcons.php?icon1='+firstIcon+'&icon2='+secondIcon+'"><img src="MergeIcons.php?icon1='+firstIcon+'&icon2='+secondIcon+'" /></a></li>');

我不确定href的值应该是多少?如果我在不同的PHP文件中处理下载,那么文件路径应该是什么?

我的PHP代码,用于合并两个图标,

header('Content-Type: image/png');
imagepng($dest);

2 个答案:

答案 0 :(得分:0)

要让用户自动下载文件,请在Content-Type标题附近添加:

header('Content-Disposition: attachment; filename="'. $generateSomeFilename .'"');

这将导致大多数浏览器不输出图像,但会立即显示另存为对话框。

答案 1 :(得分:0)

您需要添加一个事件处理程序并再次调用PHP:

var url = 'MergeIcons.php?icon1='+firstIcon+'&icon2='+secondIcon;
var img = $('<img>', {'src':url}).on('click', function()
{
    document.href = url + '&download=true';
});
$('#output_images').append(img);

然后,在收到“download = true”参数时添加Content-Type标题。