建站日期写到LOGO图案上
-----------------------------详细说明-----------------------------------
需要注意的是LOGO图最好为PNG格式,
编写过程:
一、把你的 images/风格/logo.png 用Firework或其它的图像编辑器打开,在合适美观的地方描绘上需要显示的中文
(GD库是支持中文的,但是一般情况下把字体加载到PNG图像上会显示乱码,最好还是用图像编辑器在PNG上面写,一则代码要少一些,二则可以自定义艺术字体,美观)然后上传images/风格/。
最后把logo.png的属性改为只读,即444属性
二、在论坛根目录下新建一名为view.php的文件,在里面输入以下代码
(我只以调用建立日期来举例)
<?php
header("Content-type: image/png");
require_once('global.php');
if(file_exists(R_P."data/style/$skin.php") && strpos($skin,'..')===false){
@include Pcv(R_P."data/style/$skin.php");
}elseif(file_exists(R_P."data/style/$db_defaultstyle.php") && strpos($db_defaultstyle,'..')===false){
@include Pcv(R_P."data/style/$db_defaultstyle.php");
}else{
@include(R_P."data/style/wind.php");
}
$imgurl="$imgpath/$stylepath/logo.png";
$y=2007;//这里改为自己建站的开始年份
$m=03;//这里改为自己建站的开始月份
$d=19;//这里改为自己建站的开始日子
$buildtime=mktime(0,0,0,$m,$d,$y);
$c_time=intval(($timestamp-$buildtime)/(3600*24));
$im = imagecreatefrompng("$imgurl");
$red = ImageColorAllocate($im, 255,0,0);
imagestring($im, 9, 325, 80, $c_time, $red);
imagepng($im);
imagedestroy($im);
?>
保存
三、打开template/风格/head.htm
把<img src="$imgpath/$stylepath/logo.png" style=" margin:0 0.5% 5px" />
替换为<img src="view.php" style=" margin:0 0.5% 5px" /></a></td>即可。
-----------------------------代码解释-----------------------------------
代码解释
<?php
header("Content-type: image/png");//告诉浏览器这个PHP文件是一个图像
require_once('global.php');//加载PW根目录下的global.php文件,因为下面有函数要调用这个文件里面的
if(file_exists(R_P."data/style/$skin.php") && strpos($skin,'..')===false){
@include Pcv(R_P."data/style/$skin.php");
}elseif(file_exists(R_P."data/style/$db_defaultstyle.php") && strpos($db_defaultstyle,'..')===false){
@include Pcv(R_P."data/style/$db_defaultstyle.php");
}else{
@include(R_P."data/style/wind.php");
}//以上几行是定位你的风格,从require/header.php文件提取出来的
$imgurl="$imgpath/$stylepath/logo.png";//这里是提取你LOGO图的地址并将它赋与imgurl变量
$y=2007;//这里改为自己建站的开始年份
$m=03;//这里改为自己建站的开始月份
$d=19;//这里改为自己建站的开始日子
$buildtime=mktime(0,0,0,$m,$d,$y);//将年月日连接起来并转换 时间戳
$c_time=intval(($timestamp-$buildtime)/(3600*24));//现在的时间减去建站的时间并转换为天数的整型
$im = imagecreatefrompng("$imgurl");//从imgurl这个图像地址中获取图像并建立新图
$red = ImageColorAllocate($im, 255,0,0);//定义颜色,255 0 0代表红色,即 #FF0000
imagestring($im, 5, 325, 80, $c_time, $red);//定义字符串,将以 5 号字的大小,X坐标于325,Y坐标于80,显示 $c_time这个变量,即建站日期,颜色为red这个变量,即上面一行定义的红色。
imagepng($im);
imagedestroy($im);//以上两行是PHP输出PNG图像的必备代码,不能丢了。
?>
其中倒数第3行中的X坐标和Y坐标请多多测试,找到最合适的位置。
以上代码的分析看懂后,你即可以在任何一张PNG图像上显示任何文字并另存为新的PNG图片。
除了调用日期以外,其余的数据也可以调用,并设计为动态签名图,但不在本教程的范围内。
最后一点注意,显示这类图片代码一定是
<img src=.../view.php>格式的,不是png或者其它的格式。

RSS订阅