0

我尝试制作一个像插件一样的 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>

有人可以提出任何解决方案来克服这个问题吗?

4

2 回答 2

3

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

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

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

于 2012-04-16T17:03:40.233 回答
3

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

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

如果您使用 jQuery 客户端,您可以动态更改图像的 src 属性。请参阅此处的示例:使用 jQuery 更改图像源

于 2012-04-16T16:58:12.377 回答