具有PNG扩展名的动态PHP图像

时间:2011-09-30 04:21:36

标签: php png image-conversion

我正在尝试制作类似于以下其中一种的图像:http://www.danasoft.com/vipersig.jpg

不是真正的内容(显示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);

有关如何实现这一目标的任何想法?

我正在寻找的更多例子有:http://draynor.net/signatures

编辑:大多数评论是关于从PNG转换为PHP,我想从PHP转换为PNG,只是为了清除它。

2 个答案:

答案 0 :(得分:3)

你很近,像上面那样创建你的形象,有用的变量是$_SERVER['REMOTE_ADDR'](IP地址),$_SERVER['HTTP_USER_AGENT'](浏览器)。请参阅reserved server variables

在您的图片上格式化它们,并通过在浏览器中查看PHP脚本来查看您想要的内容。

然后,如果您正在使用Apache,请设置重写规则以重写URL以指向您的PHP脚本。

以下是一个例子:

RewriteEngine On
RewriteRule ^/signatures/sig.png$ /signature.php [L]

这会将http://yoursite.com/signatures/sig.png重写为http://yoursite.com/signature.php这样,用户就可以在其签名或网页中嵌入该png网址,以显示您的图片。

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

答案 1 :(得分:1)

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

RewriteEngine On
RewriteRule /signatures/([A-Za-z0-9])+\.png$ /signature.php?name=$1

这是一个教程:http://www.easymodrewrite.com/ 更多信息:http://httpd.apache.org/docs/current/mod/mod_rewrite.html