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里的JS打印函数
Oct 09 PHP
php下删除字符串中HTML标签的函数
Aug 27 PHP
PHP 一个随机字符串生成代码
May 26 PHP
php XMLWriter类的简单示例代码(RSS输出)
Sep 30 PHP
php中防止恶意刷新页面的代码小结
Oct 31 PHP
php实现二进制和文本相互转换的方法
Apr 18 PHP
PHP生成条形码大揭秘
Sep 24 PHP
php+Memcached实现简单留言板功能示例
Feb 15 PHP
php修改数组键名的方法示例
Apr 15 PHP
自制PHP框架之模型与数据库
May 07 PHP
yii2 resetful 授权验证详解
May 18 PHP
php格式文件打开的四种方法
Feb 24 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 error_log 函数的使用
2009/04/13 PHP
ThinkPHP中数据操作案例分析
2015/09/27 PHP
用javascript将数据库中的TEXT类型数据动态赋值到TEXTAREA中
2007/04/20 Javascript
fancybox modal的完美解决(右上的X)
2012/10/30 Javascript
多个datatable共存造成多个表格的checkbox都被选中
2013/07/11 Javascript
jQuery中val()方法用法实例
2014/12/25 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
2016/11/25 Javascript
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
解决vue单页路由跳转后scrollTop的问题
2018/09/03 Javascript
浅析JS中什么是自定义react数据验证组件
2018/10/19 Javascript
jquery实现动态创建form并提交的方法示例
2019/05/27 jQuery
vue中created和mounted的区别浅析
2019/08/13 Javascript
浅谈layui分页控件field参数接收对象的问题
2019/09/20 Javascript
python2.7删除文件夹和删除文件代码实例
2013/12/18 Python
Python使用Phantomjs截屏网页的方法
2018/05/17 Python
基于Python pip用国内镜像下载的方法
2018/06/12 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
2019/11/29 Python
使用pyqt5 tablewidget 单元格设置正则表达式
2019/12/13 Python
Tensorflow设置显存自适应,显存比例的操作
2020/02/03 Python
Python3.7黑帽编程之病毒篇(基础篇)
2020/02/04 Python
Python常用编译器原理及特点解析
2020/03/23 Python
Django Admin设置应用程序及模型顺序方法详解
2020/04/01 Python
如何基于Python pygame实现动画跑马灯
2020/11/18 Python
python time.strptime格式化实例详解
2021/02/03 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
HTML5中的autofocus(自动聚焦)属性介绍
2014/04/23 HTML / CSS
html5将图片转换成base64的实例代码
2016/09/21 HTML / CSS
亚洲在线旅行门户网站:Expedia.com.hk(智游网)
2020/04/14 全球购物
致200米运动员广播稿
2014/02/06 职场文书
敬老院活动总结
2014/04/28 职场文书
债务纠纷委托书
2014/08/30 职场文书
2014年协会工作总结
2014/11/22 职场文书
800字作文之大雪
2019/12/04 职场文书
vue+springboot实现登录验证码
2021/05/27 Vue.js
如何利用opencv判断两张图片是否相同详解
2021/07/07 Python
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
2022/04/21 Python