建站极客
网络编程 PHP编程 正文
PHP中动态显示签名和ip原理
所属分类:
网络编程 / PHP编程
阅读数:
1295
收藏 0
赞 0
分享
<?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 ("http://172.24.16.80/testpic/smile1.png"); $brush1 = imagecreatefrompng ("http://172.24.16.80/testpic/ads.png"); $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); ?>
php实现在服务器端调整图片大小的方法 这篇文章主要介绍了php实现在服务器端调整图片大小的方法,实例分析了imageResizer与loadimage操作图片的相关技巧,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
php动态绑定变量的用法 这篇文章主要介绍了php动态绑定变量的用法,涉及php变量的判定与动态定义的相关技巧,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
php实现读取和写入tab分割的文件 这篇文章主要介绍了php实现读取和写入tab分割的文件,涉及php文件读写及字符串操作的相关技巧,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
php自动给网址加上链接的方法 这篇文章主要介绍了php自动给网址加上链接的方法,可实现对本文中的网址加上链接的功能,涉及正则匹配的相关技巧,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
php获取指定范围内最接近数的方法 这篇文章主要介绍了php获取指定范围内最接近数的方法,可实现根据给定区间长度划分各个区间,并在其中寻找与给定数最接近的数,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
php使用ob_flush不能每隔一秒输出原理分析 这篇文章主要介绍了php使用ob_flush不能每隔一秒输出原理,较为详细的分析了php使用ob_flush的相关原理与Linux下使用cli方式的使用方法,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
查看更多