一个图形显示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 DataGrid 实现代码
Aug 12 PHP
php中的三元运算符使用说明
Jul 03 PHP
深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非
Jun 05 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
Jul 05 PHP
PHP封装分页函数实现文本分页和数字分页
Oct 23 PHP
PHP中大于2038年时间戳的问题处理方案
Mar 03 PHP
[原创]php获取数组中键值最大数组项的索引值
Mar 17 PHP
curl和libcurl的区别简介
Jul 01 PHP
php+flash+jQuery多图片上传源码分享
Jul 27 PHP
PHP 二维关联数组根据其中一个字段排序(推荐)
Apr 04 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
Apr 20 PHP
PHP利用递归函数实现无限级分类的方法
Mar 22 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控制linux服务器常用功能 关机 重启 开新站点等
2012/09/05 PHP
PHP 如何利用phpexcel导入数据库
2013/08/24 PHP
thinkphp文件引用与分支结构用法实例
2014/11/26 PHP
php解析http获取的json字符串变量总是空白null
2015/03/02 PHP
zen_cart实现支付前生成订单的方法
2016/05/06 PHP
php并发加锁示例
2016/10/17 PHP
Laravel框架模型的创建及模型对数据操作示例
2019/05/07 PHP
Javascript学习笔记7 原型链的原理
2010/01/11 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
2012/02/27 Javascript
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
jQuery随机切换图片的小例子
2013/04/18 Javascript
jquery easyui combobox模糊过滤(示例代码)
2013/11/30 Javascript
js获取当前路径的简单示例代码
2014/01/08 Javascript
谈一谈JS消息机制和事件机制的理解
2016/04/14 Javascript
javascript运算符语法全面概述
2016/07/14 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
2016/07/14 Javascript
移动端js触摸事件详解
2016/09/18 Javascript
基于hover的用法实例(推荐)
2017/07/04 Javascript
vue实现文章内容过长点击阅读全文功能的实例
2017/12/28 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
2019/11/13 Javascript
create-react-app中添加less支持的实现
2019/11/15 Javascript
浅谈vue-props的default写不写有什么区别
2020/08/09 Javascript
Vue中的nextTick作用和几个简单的使用场景
2021/01/25 Vue.js
Python与shell的3种交互方式介绍
2015/04/11 Python
pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法
2019/06/20 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
Python字符串处理的8招秘籍(小结)
2019/08/13 Python
通过python连接Linux命令行代码实例
2020/02/18 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
2020/11/28 Python
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
Expedia挪威官网:酒店、机票和租车
2018/03/03 全球购物
《放小鸟》教学反思
2014/04/20 职场文书
2014年度考核工作总结
2014/12/24 职场文书
2015年感恩父亲节演讲稿
2015/03/19 职场文书
《夜莺的歌声》教学反思
2016/02/22 职场文书