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为什么选mysql作为数据库? Mysql 创建用户方法
Jul 02 PHP
PHP处理excel cvs表格的方法实例介绍
May 13 PHP
PHP中HTML标签过滤技巧
Jan 07 PHP
PHP代码优化的53个细节
Mar 03 PHP
php foreach正序倒序输出示例代码
Jul 01 PHP
php+ajax实现文章自动保存的方法
Dec 30 PHP
laravel安装zend opcache加速器教程
Mar 02 PHP
PHP遍历目录文件的常用方法小结
Feb 03 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
Apr 01 PHP
php抽象方法和普通方法的区别点总结
Oct 13 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
Feb 18 PHP
PHP替换Word中变量并导出PDF图片的实现方法
Nov 26 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脚本的10个技巧(2)
2006/10/09 PHP
用php实现像JSP,ASP里Application那样的全局变量
2007/01/12 PHP
PHP读取目录下所有文件的代码
2008/01/07 PHP
php不用正则采集速度探究总结
2008/03/24 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
2019/06/22 PHP
docker-compose部署php项目实例详解
2019/07/30 PHP
符合W3C网页标准的iframe标签的使用方法
2007/07/19 Javascript
ext form 表单提交数据的方法小结
2008/08/08 Javascript
JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)
2015/09/25 Javascript
jQuery mobile类库使用时加载导航历史的方法简介
2015/12/04 Javascript
数据结构中的各种排序方法小结(JS实现)
2016/07/23 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
JS批量替换内容中关键词为超链接
2017/02/20 Javascript
jQuery validata插件实现方法
2017/06/25 jQuery
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
Node.js如何实现注册邮箱激活功能 (常见)
2017/07/23 Javascript
JavaScript数据结构之双向链表和双向循环链表的实现
2017/11/28 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
JS动画定时器知识总结
2018/03/23 Javascript
教你如何编写Vue.js的单元测试的方法
2018/10/17 Javascript
JavaScript中的this基本问题实例小结
2020/03/09 Javascript
python多线程threading.Lock锁用法实例
2014/11/01 Python
在MAC上搭建python数据分析开发环境
2016/01/26 Python
Python 实现12306登录功能实例代码
2018/02/09 Python
python读取和保存图片5种方法对比
2018/09/12 Python
python gensim使用word2vec词向量处理中文语料的方法
2019/07/05 Python
Python环境Pillow( PIL )图像处理工具使用解析
2019/09/12 Python
python实现信号时域统计特征提取代码
2020/02/26 Python
Answear匈牙利:来自全球200多个知名时尚品牌
2017/04/21 全球购物
SEPHORA丝芙兰捷克官网:购买香水、化妆品和护肤品
2018/11/26 全球购物
澳大利亚婴儿、幼儿和儿童在线设计师商店:Smooch Baby
2019/02/16 全球购物
公司合作协议范文
2014/10/01 职场文书
学习心得体会
2019/06/20 职场文书
手残删除python之后的补救方法
2021/06/26 Python
手把手教你导入Go语言第三方库
2021/08/04 Golang