我正在尝试制作类似于以下其中一种的图像: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,只是为了清除它。
答案 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.png
至signature.php?id=1234
或/signature/style1/1234.png
至signature.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