页面内容在我的php GD绘图后没有显示

时间:2012-04-16 16:47:48

标签: php html gd

我试图制作一个类似插件的PHP GD横幅,让用户复制并粘贴图片链接并放入他们的网站,到目前为止我的工作正常,问题是当我加载图片时,其他页面内容例如文本等不会显示在浏览器中

这是我的PHP代码来绘制图像

<?php
    header("Content-type: image/png");
    $string = $_GET['text']. '  Click Here';
    $im     = imagecreatefrompng("../../images/banner.png");
    $orange = imagecolorallocate($im, 0, 0, 0);
    $px     = (imagesx($im) - 1.5 * strlen($string)) / 2;
    $font = 'verdana.ttf';
    imagestring($im,50, $px, 45, $string, $orange);
    imagepng($im);
    imagedestroy($im);
        ?>

提示:我将此代码放在页面顶部以使标题正常工作

现在其他的HTML代码是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>add plugin</title>
</head>

<body>
<h3>Select One or More Plugin to connect your website for your reservation</h3>

<h4>Just A Button</h4>
<br />
<p>Instructions</p>
<p>Copy this code and paste into your website</p>

</body>
</html>

有人可以建议任何解决方案来解决这个问题吗?

2 个答案:

答案 0 :(得分:3)

如果您的PHP脚本生成图像,那么您应该将其输出适当地包装在IMG标记中。

尝试将示例添加到您的html页面:<img id="banner" src="/path/to/your.php?text=Click%20Here"/>

如果你正在使用jQuery客户端,你可以动态地改变图像的src属性。请参阅此处的示例:Changing the image source using jQuery

答案 1 :(得分:3)

  

提示:我将此代码放在页面顶部以使标题正常工作

那是你的问题。您基本上完成了相当于在文本编辑器中打开计算机上的图像文件并在文件末尾键入随机字符的操作。它会打破图像,你永远不会看到角色,因为它们在图像数据中毫无意义。

您的PHP代码无法在一个HTTP请求中同时返回图像和HTML。相反,您可以拥有两个不同的PHP文件,一个用于图像,另一个用于HTML。让HTML通过标准<img src="image.php" alt="" />标记包含图像PHP。