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水印技术
Feb 14 PHP
PHP 面向对象 final类与final方法
May 05 PHP
PHP的SQL注入实现(测试代码安全不错)
Feb 27 PHP
redis 队列操作的例子(php)
Apr 12 PHP
php 常用算法和时间复杂度
Jul 01 PHP
php二维数组用键名分组相加实例函数
Nov 06 PHP
php更新修改excel中的内容实例代码
Feb 26 PHP
PHP实现图片旋转效果实例代码
Oct 01 PHP
PHP实现简单的新闻发布系统实例
Jul 28 PHP
Zend Framework实现多服务器共享SESSION数据的方法
Mar 22 PHP
[原创]php token使用与验证示例【测试可用】
Aug 30 PHP
PHP与SQL语句写一句话木马总结
Oct 11 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
上海永华YH-R296(华普R-96)12波段立体声收音机的分析和打理
2021/03/02 无线电
php的优点总结 php有哪些优点
2019/07/19 PHP
javascript call和apply方法
2008/11/24 Javascript
JS拖动技术 关于setCapture使用
2010/12/09 Javascript
jquery 操作表格实现代码(多种操作打包)
2011/03/20 Javascript
AngularJS中$interval的用法详解
2016/02/02 Javascript
jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
2016/04/29 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
2016/06/20 Javascript
AngularJS equal比较对象实例详解
2016/09/14 Javascript
关于Vue.js一些问题和思考学习笔记(1)
2016/12/02 Javascript
JavaScript中日常收集常见的10种错误(推荐)
2017/01/08 Javascript
vue实现添加标签demo示例代码
2017/01/21 Javascript
基于BootStrap实现简洁注册界面
2017/07/20 Javascript
基于vue的短信验证码倒计时demo
2017/09/13 Javascript
集成vue到jquery/bootstrap项目的方法
2018/02/10 jQuery
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
2019/03/07 Javascript
关于Js中new操作符的作用详解
2021/02/21 Javascript
[48:44]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS HGT
2014/05/22 DOTA
tensorflow 获取模型所有参数总和数量的方法
2018/06/14 Python
Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法
2018/09/17 Python
Pandas DataFrame 取一行数据会得到Series的方法
2018/11/10 Python
python跳出双层for循环的解决方法
2019/06/24 Python
使用python 写一个静态服务(实战)
2019/06/28 Python
python+opencv像素的加减和加权操作的实现
2019/07/14 Python
django Admin文档生成器使用详解
2019/07/22 Python
举例讲解Python装饰器
2020/12/24 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
2021/02/07 Python
公关关系专员的自我评价分享
2013/11/20 职场文书
电子商务专业推荐信范文
2013/12/02 职场文书
分厂厂长岗位职责
2013/12/29 职场文书
yy结婚证婚词
2014/01/10 职场文书
关于开学的感想
2015/08/10 职场文书
2016暑期校本培训心得体会
2016/01/08 职场文书
用Python远程登陆服务器的步骤
2021/04/16 Python
Python中基础数据类型 set集合知识点总结
2021/08/02 Python