一个图形显示IP的PHP程序代码


Posted in PHP onOctober 19, 2007

先看代码
sunip.php

<?php  
header("Content-type: image/gif");  
$im = imagecreate(130,15);  
$background_color = ImageColorAllocate ($im, 255, 255, 255);   
unset($ip);  
if($_SERVER['HTTP_CLIENT_IP']){  
$ip=$_SERVER['HTTP_CLIENT_IP'];  
} else if($_SERVER['HTTP_X_FORWARDED_FOR']){  
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];  
} else{  
$ip=$_SERVER['REMOTE_ADDR'];  
}  
$col = imagecolorallocate($im, 0, 51, 102);  
imagestring($im, 3, 5, 1, $ip , $col);   
imagegif($im);  
imagedestroy($im);  
?> 

下面我逐条讲解
什么下 本人也不是什么高手 揣摩出来的
1. <?php   
2. header("Content-type: image/gif");
第二行 声明浏览器标头 输出为GIF图形
3. $im = imagecreate(130,15);
建立一个图形 imagecreate(130,15)括号内130,15分别代表宽度和高度
4. $background_color = ImageColorAllocate ($im, 255, 255, 255); 
设置背景颜色 imagecolorallocate 为一幅图片分配颜色 ($im, 255, 255, 255)im代表前面提到的新建图形 后面的3个255则代表颜色表ffffff的10进制字符
5. unset($ip);
无用
6.if($_SERVER['HTTP_CLIENT_IP']){
$ip=$_SERVER['HTTP_CLIENT_IP'];
} else if($_SERVER['HTTP_X_FORWARDED_FOR']){
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
} else{
$ip=$_SERVER['REMOTE_ADDR'];
}
如果$_SERVER['HTTP_CLIENT_IP']可以使用则使用$_SERVER['HTTP_CLIENT_IP']下面类似 为判断 此段是为了兼容多种服务器设置
7. $col = imagecolorallocate($im, 0, 51, 102);
定义文字颜色
8. imagestring($im, 3, 5, 1, $ip , $col); 
将获取到的IP画到新建的画布上 imagestring($im, 3, 5, 1, $ip , $col); 分别代表imagestring(图形表示,字符尺寸1-5,X坐标,Y坐标,输出的IP,颜色)
9. imagegif($im);
输出GIF图形
10. imagedestroy($im);
释放内存
11. ?>
程序结束 
PHP 相关文章推荐
第十四节--命名空间
Nov 16 PHP
php格式化工具Beautify PHP小小BUG
Apr 24 PHP
PHP 输出缓存详解
Jun 20 PHP
php类中private属性继承问题分析
Nov 01 PHP
PHP return语句的另一个作用
Jul 30 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
Aug 05 PHP
PHP文件上传判断file是否己选择上传文件的方法
Nov 10 PHP
PHP入门教程之操作符与控制结构流程详解
Sep 09 PHP
利用switch语句进行多选一判断的实例代码
Nov 14 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
Sep 15 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
Mar 25 PHP
如何使用php生成zip压缩包
Apr 21 PHP
php在线生成ico文件的代码
Oct 09 #PHP
pw的一个放后门的方法分析
Oct 08 #PHP
使用 eAccelerator加速PHP代码的方法
Sep 30 #PHP
实现php加速的eAccelerator dll支持文件打包下载
Sep 30 #PHP
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
Sep 30 #PHP
一些常用的php简单命令代码集锦
Sep 24 #PHP
php下实现伪 url 的超简单方法[转]
Sep 24 #PHP
You might like
php addslashes 函数详细分析说明
2009/06/23 PHP
PHP邮箱验证示例教程
2016/06/01 PHP
PHP数据分析引擎计算余弦相似度算法示例
2017/08/08 PHP
js监听表单value的修改同步问题,跨浏览器支持
2009/12/31 Javascript
javascript之AJAX框架使用说明
2010/04/24 Javascript
brook javascript框架介绍
2011/10/10 Javascript
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
2013/01/16 Javascript
javascript动态添加、修改、删除对象的属性与方法详解
2014/01/27 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
详细解读JavaScript的跨浏览器事件处理
2015/08/12 Javascript
jquery判断密码强度的验证代码
2020/04/22 Javascript
javascript简单实现等比例缩小图片的方法
2016/07/27 Javascript
js从外部获取图片的实现方法
2016/08/05 Javascript
js通过keyCode值判断单击键盘上某个键,然后触发指定的事件方法
2017/02/19 Javascript
基于vue 实现token验证的实例代码
2017/12/14 Javascript
原生JS实现的跳一跳小游戏完整实例
2019/01/27 Javascript
图解JS原型和原型链实现原理
2020/09/15 Javascript
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
Python简单日志处理类分享
2015/02/14 Python
Python 爬虫学习笔记之单线程爬虫
2016/09/21 Python
python实现黑客字幕雨效果
2018/06/21 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
2019/10/24 Python
dpn网络的pytorch实现方式
2020/01/14 Python
django 解决model中类写不到数据库中,数据库无此字段的问题
2020/05/20 Python
Python数据模型与Python对象模型的相关总结
2021/01/26 Python
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
2016/01/12 面试题
2013年大学生的自我鉴定
2013/10/24 职场文书
质检部经理岗位职责
2014/02/19 职场文书
领导调研接待方案
2014/02/27 职场文书
外贸专业求职信
2014/03/09 职场文书
六一儿童节标语
2014/10/08 职场文书
2016年第32个教师节致辞
2015/11/26 职场文书
2019行政前台转正申请书范文3篇
2019/08/15 职场文书
两行代码解决Jupyter Notebook中文不能显示的问题
2021/04/24 Python
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis