|
楼主 |
发表于 2005 年 10 月 31 日 20:54:03
|
显示全部楼层
PHP动态签名显示ip原理
- <?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 = "enjoy the wonderful weekend!";
- }else{
- $tips = "you'd better go to school.";
- }
- 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 ("[url]http://172.24.16.80/testpic/smile1.png[/url]");
- $brush1 = imagecreatefrompng ("[url]http://172.24.16.80/testpic/ads.png[/url]");
- $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,"Your computer's named:{$host}",$red);
- imagestring($im,$font,$maginx,$maginy,"Your IP Address is:{$ip}",$red);
- imagestring($im,2,2,2,"Today is {$wday} and {$tips}",$blue);
- imagestring($im,3,10,$maginy+40,"TotalRefreshTimesFromToday:$sum",$blue);
- //图片结尾必然语句
- ImagePNG($im);
- ImageDestroy($im);
- ?>
复制代码 |
|