Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有PNG扩展的动态PHP图像_Php_Png_Image Conversion - Fatal编程技术网

带有PNG扩展的动态PHP图像

带有PNG扩展的动态PHP图像,php,png,image-conversion,Php,Png,Image Conversion,我正在尝试制作一个类似于以下其中一个的图像: 不是真正的内容(显示IP地址和标题),而是以PNG格式显示的PHP图像(这样我就可以在网站上使用BB图像标记) 我知道如何创建动态图像,但只有在访问PHP页面时才知道。如果有问题,当前正在使用此选项: $image = imagecreate(200, 60); $text_color = imagecolorallocate($image, 255, 255, 0); header("Content-type: image/png"); ima

我正在尝试制作一个类似于以下其中一个的图像:

不是真正的内容(显示IP地址和标题),而是以PNG格式显示的PHP图像(这样我就可以在网站上使用BB图像标记)

我知道如何创建动态图像,但只有在访问PHP页面时才知道。如果有问题,当前正在使用此选项:

$image = imagecreate(200, 60);
$text_color = imagecolorallocate($image, 255, 255, 0);

header("Content-type: image/png");

imagestring($image, 4, 40, 30, "hello", $text_color);

imagepng($image);
imagecolordeallocate($text_color);
imagedestroy($image);
你对如何实现这一目标有何想法

我正在寻找的更多示例有:


编辑:大多数评论都是关于从PNG转换到PHP的,我想从PHP转换到PNG,只是想澄清一下。

如果你在apache上托管,你可以使用
mod_rewrite
。这是一个样本(未测试):

以下是一个教程:
更多信息:

你很接近了,像上面那样创建你的图像,有用的变量是
$\u服务器['REMOTE\u ADDR']
(ip地址),
$\u服务器['HTTP\u USER\u AGENT']
(浏览器)。看

在您的图像上格式化它们,并通过在浏览器中查看PHP脚本使其看起来像您想要的那样

然后,如果您使用的是Apache,请设置一个重写规则来重写指向PHP脚本的URL

以下是一个例子:

RewriteEngine On
RewriteRule ^/signatures/sig.png$ /signature.php [L]
这将重写
http://yoursite.com/signatures/sig.png
http://yoursite.com/signature.php
这样,用户可以将png URL嵌入他们的签名或网页中以显示您的图像


最终,您可以拥有多个签名,并通过重写特殊参数(即
/signature/1234.png
signature.php?id=1234
/signature/style1/1234.png
signature.php?id=1234&style=style1
)重写您的URL。

它实际上看起来像是这样的代码,从php手册中复制即可。您只需要从一个基本图像开始,然后将“hello”更改为更有趣的内容。@ChrisHenry问题是我只能通过进入file.php而不是file.png来访问它,这正是我要找的。但是。。。为什么?文件扩展名并不重要。如果出于某种原因,您可以始终使用content disposition标头。您不能将PHP扩展作为图像嵌入网站,这就是我要寻找的(嵌入网站的内容)。如果是您的网站,您肯定可以将以.PHP结尾的URL作为图像嵌入。您的浏览器只关心内容类型是否正确。也许一些写得不好的论坛软件要求它以.png结尾,但我不相信这是正常的。我的webhost不运行在apache上(如果你碰巧知道它的任何内容,那么这个网站就是),有没有其他方法可以让你不需要它,或者你能推荐一个没有运行apache的庞大URL的免费网络主机吗?请看我下面的评论,这是非常有用的,如果这是切换免费网络主机的唯一“简单”方法,你能推荐任何运行apache且没有庞大URL的(如mysite.stackoverflow.users.com)吗?我不确定免费,而且有这么多的网络主机,我真的不能推荐一个。首先,您可以使用动态dns服务将域名指向internet连接,并托管自己的apache服务器。但是如果你看一下,你会发现许多便宜的网络主机,它们将拥有比你所需要的一切更多的东西和良好的服务。好的,非常感谢你们以及你们所有人的所有其他评论,我非常感谢!我会调查这件事,希望它能像看起来一样容易解决!
RewriteEngine On
RewriteRule ^/signatures/sig.png$ /signature.php [L]