在不同的PHP文件中显示使用GD库创建的图像

时间:2013-05-14 22:03:19

标签: php ajax gd

我有index.php,我要求用户选择两个图像进行组合..使用复选框完成选择。 用户然后单击我将所选图像路径传递给MergeImages.php的按钮,合并image.php将两个图标与其他处理组合在一起并创建一个图像,我需要在index.php上显示图像列表。

这是我的代码 的index.php

var Images;
Images = listOfImages.join("|");
$.ajax({
url: 'MergeImages.php',
type: 'POST',
data: {listOfImages : Images},
success: function(data) {
 alert("success");
 $("#output_image").attr("src","MergeImages.php" );
 },
 error: function(jqXHR, textStatus, errorThrown) {
 console.log(textStatus, errorThrown);
 }
 });
 }

MergeImages.php

imagecopy($dest, $src, 0,0,0,0,$swidth,$sheight); 

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

图像未显示,可能是什么问题?

2 个答案:

答案 0 :(得分:1)

您向MergeImages.php发出POST请求,但成功后您不使用返回的数据。相反,您将图像src设置为MergeImages.php,它会调用它,但没有PST参数(这是一个没有任何参数的普通GET请求)。

您需要在成功处理程序中使用data。这是您对MergeImages.php的POST请求的响应。为此,请参阅this question的接受答案。

如果可能,在MergeImages.php中使用POST替换GET可能会让您更轻松。在这种情况下,您不需要AJAX,但您只需将图片的src属性设置为"MergeImages.php?icon1=bla&icon2=bla"

答案 1 :(得分:0)

我认为返回图片并不是一个好主意,除非每次请求都会生成新图像。

为了提高可缓存性,您应该返回重定向到服务器上图像网址的响应。