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扩展图文教程
Dec 12 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
Dec 19 PHP
解析wamp5下虚拟机配置文档
Jun 27 PHP
PHP图片等比例缩放生成缩略图函数分享
Jun 10 PHP
php中curl使用指南
Feb 05 PHP
php随机显示指定文件夹下图片的方法
Jul 13 PHP
php技术实现加载字体并保存成图片
Jul 27 PHP
php文件上传 你真的掌握了吗
Nov 28 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
Jan 30 PHP
php实现页面纯静态的实例代码
Jun 21 PHP
PHP实现唤起微信支付功能
Feb 18 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
Oct 01 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
php分页示例代码
2007/03/19 PHP
关于页面优化和伪静态
2009/10/11 PHP
php集成动态口令认证
2016/07/21 PHP
php 生成签名及验证签名详解
2016/10/26 PHP
彪哥1.1(智能表格)提供下载
2006/09/07 Javascript
解决FLASH需要点击激活的代码
2006/12/20 Javascript
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
jquery利用拖拽方式在图片上添加热链接
2015/11/24 Javascript
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
利用策略模式与装饰模式扩展JavaScript表单验证功能
2017/02/14 Javascript
Bootstrap实现的表格合并单元格示例
2018/02/06 Javascript
javascript回调函数详解
2018/02/06 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
详解elementui之el-image-viewer(图片查看器)
2019/08/30 Javascript
JavaScript数组排序的六种常见算法总结
2020/08/18 Javascript
[01:06:39]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第三局
2016/03/02 DOTA
Python 绘图库 Matplotlib 入门教程
2018/04/19 Python
Python列表解析配合if else的方法
2018/06/23 Python
使用Python的toolz库开始函数式编程的方法
2018/11/15 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
python调用百度地图WEB服务API获取地点对应坐标值
2019/01/16 Python
python ChainMap 合并字典的实现步骤
2019/06/11 Python
Python可以实现栈的结构吗
2020/05/27 Python
玩转CSS3色彩
2010/01/16 HTML / CSS
世界排名第一的运动鞋市场:Flight Club
2020/01/03 全球购物
会计学个人自荐信模板
2013/12/13 职场文书
财务信息服务专业自荐书范文
2014/02/08 职场文书
企业管理毕业生求职信
2014/03/11 职场文书
教学改革实施方案
2014/03/31 职场文书
教师反腐倡廉演讲稿
2014/09/03 职场文书
夫妻忠诚协议范文
2014/11/16 职场文书
2014年司法局工作总结
2014/12/11 职场文书