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

时间:2024-05-11 10:12:33 

<?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中动态显示签名和ip原理
0
投稿

猜你喜欢

  • 25个值得收藏的Python文本处理案例

    2022-06-19 15:38:29
  • python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)

    2022-01-27 13:05:08
  • 浅论网站用户粘性的提高和增强

    2008-05-15 07:14:00
  • python闭包、深浅拷贝、垃圾回收、with语句知识点汇总

    2023-09-11 13:20:31
  • 用js实现小球的自由移动代码

    2023-08-23 02:57:29
  • 简单form标准化实例——整体布局

    2007-05-11 17:04:00
  • Python实现的远程登录windows系统功能示例

    2022-10-09 21:26:15
  • 在SQL Server中使用索引的技巧

    2009-02-24 17:50:00
  • 用Dreamweaver MX巧妙格式化表格

    2008-03-18 16:39:00
  • TensorFlow深度学习之卷积神经网络CNN

    2022-07-03 17:43:15
  • php下将XML转换为数组

    2024-05-09 14:48:04
  • python创建文本文件的简单方法

    2021-02-22 02:00:09
  • MySQL中数据查询语句整理大全

    2024-01-15 21:59:05
  • python实现矩阵乘法的方法

    2021-02-22 16:22:18
  • Python Celery动态添加定时任务生产实践指南

    2023-06-29 16:57:12
  • 如果你有这33种症状了请离开电脑去走走吧!

    2022-11-07 18:17:21
  • face++与python实现人脸识别签到(考勤)功能

    2021-10-18 09:06:06
  • Python3搜索及替换文件中文本的方法

    2023-08-24 04:33:44
  • python+mysql实现教务管理系统

    2024-01-26 11:43:03
  • DWCS3-CSS布局之二CSS规则定义

    2008-06-16 13:36:00
  • asp之家 网络编程 m.aspxhome.com