我的 php GD 绘图后页面内容不显示

Posted

技术标签:

【中文标题】我的 php GD 绘图后页面内容不显示【英文标题】:page content doesn't show after my php GD drawing 【发布时间】:2012-04-16 16:47:47 【问题描述】:

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

有人可以提出解决此问题的任何解决方案吗?

【问题讨论】:

【参考方案1】:

提示:我将此代码放在页面顶部以使页眉工作

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

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

【讨论】:

【参考方案2】:

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

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

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

【讨论】:

以上是关于我的 php GD 绘图后页面内容不显示的主要内容,如果未能解决你的问题,请参考以下文章

linux下centos 7 php7 gd库 安装后 这样是成功的吗?

php gd库不能显示图片?为啥?gd库启动了,检查代码也没问题,但就是显示不了!请高手帮帮忙。。。

使用PHP GD库绘制图像,不显示的问题

PHP:显示 ImageMagick 图像而不保存到像 GD 这样的服务器

不用数据库 编写一个PHP留言板 提交后 在页面中显示留言内容 留言时间等

PHP的GD库绘图