一个图形显示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 相关文章推荐
Php做的端口嗅探器--可以指定网站和端口
Oct 09 PHP
PHP缓存技术的多种方法小结
Aug 14 PHP
强烈声明: 不要使用(include/require)_once
Jun 06 PHP
zf框架的校验器InArray使用示例
Mar 13 PHP
查找php配置文件php.ini所在路径的二种方法
May 26 PHP
Thinkphp实现MySQL读写分离操作示例
Jun 25 PHP
PHP Yii框架之表单验证规则大全
Nov 16 PHP
PHP MPDF中文乱码的解决方式
Dec 08 PHP
关于PHP中Session文件过多的问题及session文件保存位置
Mar 17 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
Dec 06 PHP
PHP用continue跳过本次循环中剩余代码的注意点
Jun 27 PHP
thinkPHP5.0框架事务处理操作简单示例
Sep 07 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 SPL标准库之接口(Interface)详解
2015/05/11 PHP
PHP获取一年有几周以及每周开始日期和结束日期
2015/08/06 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
2019/12/04 PHP
js jquery做的图片连续滚动代码
2008/01/06 Javascript
基于jQuery的图片左右无缝滚动插件
2012/05/23 Javascript
UI Events 用户界面事件
2012/06/27 Javascript
js导航栏单击事件背景变换示例代码
2014/01/13 Javascript
浅谈Javascript如何实现匀速运动
2014/12/19 Javascript
Vue.js第四天学习笔记
2016/12/02 Javascript
webpack3+React 的配置全解
2017/08/21 Javascript
利用angular、react和vue实现相同的面试题组件
2018/02/19 Javascript
iview tabs 顶部导航栏和模块切换栏的示例代码
2019/03/04 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
JavaScript中callee和caller的区别与用法实例分析
2019/06/28 Javascript
刷新页面后让控制台的js代码继续执行
2019/09/20 Javascript
JS操作字符串转数字的常见方法示例
2019/10/29 Javascript
vue 更改连接后台的api示例
2019/11/11 Javascript
Vue-axios-post数据后端接不到问题解决
2020/01/09 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
2020/08/12 Javascript
Python使用Windows API创建窗口示例【基于win32gui模块】
2018/05/09 Python
Python字符串格式化输出代码实例
2019/11/22 Python
Python基于network模块制作电影人物关系图
2020/06/19 Python
Python之字符串的遍历的4种方式
2020/12/08 Python
一款纯css3实现的鼠标经过按钮特效教程
2014/11/09 HTML / CSS
Diamondback自行车:拥有你的冒险
2019/04/22 全球购物
Ajax的优点和缺点
2014/11/21 面试题
求职信模版
2013/11/30 职场文书
超级搞笑检讨书
2014/01/15 职场文书
入党积极分子介绍信
2014/01/17 职场文书
幼儿园家长评语
2014/02/10 职场文书
《金钱的魔力》教学反思
2014/02/24 职场文书
工厂搬迁方案
2014/05/11 职场文书
公司门卫工作职责
2014/06/28 职场文书
秦兵马俑导游词
2015/02/02 职场文书
女性健康讲座主持词
2015/07/04 职场文书
小组组名及励志口号
2015/12/24 职场文书