PHP中动态显示签名和ip原理
2018-09-07 13:46
<?php
//包含一个计数器,一个提醒语句,用户ip以及自己的广告图片。
//给浏览器发送头,说我是张图片
Header(Content-type:image/PNG);
//这里定义计数器,放到一个文件里的
$Visited=array();
if(!file_exists(Counter))
{
for($i=0;$i<24;$i++)
$Visited[$i]=0;
$str=$Visited[0];
for($i=1;$i<24;$i++)
$str.=,$Visited[$i];
$fp=fopen(Counter,w);
fputs($fp,$str);
fclose($fp);
}
else
{
$fp=fopen(Counter,r);
$str=trim(fgets($fp,100));
$Visited=explode(,,$str);
fclose($fp);
}
$Visited[date(G)]=intval($Visited[date(G)])+1;
$str=$Visited[0];
$max=intval($Visited[0]);
for($i=1;$i<24;$i++)
{
$str.=,$Visited[$i];
if($max<=intval($Visited[$i]))
$max=intval($Visited[$i]);
}
$fp=fopen(Counter,w);
fputs($fp,$str);
fclose($fp);
$sum=0;
for($i=0;$i<24;$i++)
{
$sum+=$Visited[$i];
}
//计数器结束
//开始创建图片定义颜色字体等
$im=imagecreate(400,100);
$black=ImageColorAllocate($im,0,0,0);
$white=ImageColorAllocate($im,255,255,255);
$red=ImageColorAllocate($im,255,0,0);
$blue=ImageColorAllocate($im,0,0,255);
$font=5;
$maginx=20;
$maginy=20;
//定义ip和主机名,当然是用户端的
$ip=getenv(REMOTE_ADDR);
$host=gethostbyaddr($ip);
$today=getdate();
$wday=$today[wday];
//提醒片断,是周末则好不是周末则提醒上课
if($wday==6$wday==0){
$tips=enjoythewonderfulweekend!;
}else{
$tips=youdbettergotoschool.;
}
if($wday==1){
$wday=Monday;
}elseif($wday==2){
$wday=Tuesday;
}elseif($wday==3){
$wday=Wednsday;
}elseif($wday==4){
$wday=Thursday;
}elseif($wday==5){
$wday=Friday;
}elseif($wday==6){
$wday=Saturday;
}elseif($wday==0){
$wday=Sunday;
}
//开始创建图像背景边框
imagefill($im,0,0,$black);
imagefilledrectangle($im,1,1,398,98,$white);
//定义画笔
$style=array($white,$white,$white,$white,$white,$white,$white,$white,$white,$red);
imagesetstyle($im,$style);
//有个运动效果就用笔刷来刷了,相当于photoshop中的画笔工具也
//ads是我自己的广告图
$brush=imagecreatefrompng(
$brush1=imagecreatefrompng(
$w2=imagecolorallocate($brush,255,255,255);
imagecolortransparent($brush,$w2);
imagesetbrush($im,$brush);
imageline($im,350,20,360,20,IMG_COLOR_STYLEDBRUSHED);
imagecopy($im,$brush1,270,40,0,0,119,48);
//定义输出文字
imagestring($im,$font,$maginx,$maginy+20,Yourcomputersnamed:{$host},$red);
imagestring($im,$font,$maginx,$maginy,YourIPAddressis:{$ip},$red);
imagestring($im,2,2,2,Todayis{$wday}and{$tips},$blue);
imagestring($im,3,10,$maginy+40,TotalRefreshTimesFromToday:$sum,$blue);
//图片结尾必然语句
ImagePNG($im);
ImageDestroy($im);
?>