繁体   English   中英

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

[英]Display image created using GD library in different PHP file

我有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);

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

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

您需要在成功处理程序中使用data 这是您从POST请求到MergeImages.php响应MergeImages.php位置。 为此,请参阅对此问题的公认答案。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM