PHP中动态显示签名和ip原理


Posted in PHP onMarch 28, 2007

<?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集成FCK的函数代码
Sep 27 PHP
php5 图片验证码实现代码
Dec 11 PHP
discuz的php防止sql注入函数
Jan 17 PHP
XAMPP安装与使用方法详细解析
Nov 27 PHP
php获取URL中带#号等特殊符号参数的解决方法
Sep 02 PHP
PHP实现的sqlite数据库连接类
Dec 12 PHP
ThinkPHP自定义Redis处理SESSION的实现方法
May 16 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
Sep 29 PHP
thinkphp5修改view到根目录实例方法
Jul 02 PHP
laravel框架邮箱认证实现方法详解
Nov 22 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
Aug 30 PHP
收集的PHP中与数组相关的函数
Mar 22 #PHP
用PHP写的MySQL数据库用户认证系统代码
Mar 22 #PHP
人尽可用的Windows技巧小贴士之下篇
Mar 22 #PHP
加速XP搜索功能堪比vista
Mar 22 #PHP
dedecms中常见问题修改方法总结
Mar 21 #PHP
dedecms后台验证码总提示错误的解决方法
Mar 21 #PHP
dedecms中显示数字验证码的修改方法
Mar 21 #PHP
You might like
怎么使 Mysql 数据同步
2006/10/09 PHP
php 字符串函数收集
2010/03/29 PHP
PHP 数组遍历方法大全(foreach,list,each)
2010/06/30 PHP
smarty中post用法实例
2014/11/28 PHP
PHP单例模式模拟Java Bean实现方法示例
2018/12/07 PHP
getElementById在任意一款浏览器中都可以用吗的疑问回复
2007/05/13 Javascript
浅谈jQuery中对象遍历.eq().first().last().slice()方法
2014/11/26 Javascript
JavaScript中判断两个字符串是否相等的方法
2015/07/07 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
结合代码图文讲解JavaScript中的作用域与作用域链
2016/07/05 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
jQuery中DOM节点的删除方法总结(超全面)
2017/01/22 Javascript
nodejs调取微信收货地址的方法
2017/12/20 NodeJs
Bootstrap模态对话框用法简单示例
2018/08/31 Javascript
JavaScript实现连连看连线算法
2019/01/05 Javascript
解决Vue动态加载本地图片问题
2019/10/09 Javascript
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
微信小程序实现文件预览
2020/10/22 Javascript
全面解析Vue中的$nextTick
2020/12/24 Vue.js
[00:34]TI7不朽珍藏III——地穴编织者不朽展示
2017/07/15 DOTA
[02:04]完美世界城市挑战赛秋季赛报名开始 谁是solo路人王?
2019/10/10 DOTA
[01:01:01]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第一场 10.29
2020/10/29 DOTA
python写日志封装类实例
2015/06/28 Python
图文详解WinPE下安装Python
2016/05/17 Python
Python中operator模块的操作符使用示例总结
2016/06/28 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
2017/11/22 Python
一百行python代码将图片转成字符画
2021/02/19 Python
Python计算矩阵的和积的实例详解
2020/09/10 Python
aec加密 php_php aes加密解密类(兼容php5、php7)
2021/03/14 PHP
接口可以包含哪些成员
2012/09/30 面试题
母亲节演讲稿范文
2014/01/02 职场文书
自荐信的基本格式
2014/02/22 职场文书
公司年会抽奖活动主持词
2014/03/31 职场文书
小学一年级评语大全
2014/04/22 职场文书
校本课程教学计划
2015/01/19 职场文书
幼儿园老师个人总结
2015/02/28 职场文书