一个图形显示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 新手入门教程
Aug 03 PHP
PHP $_FILES函数详解
Mar 09 PHP
深入php常用函数的使用汇总
Jun 08 PHP
php+memcache实现的网站在线人数统计代码
Jul 04 PHP
php之Smarty模板使用方法示例详解
Jul 08 PHP
php利用cookie实现自动登录的方法
Dec 10 PHP
新浪SAE搭建PHP项目教程
Jan 28 PHP
Laravel 5.0 发布 新版本特性详解
Feb 10 PHP
php清除和销毁session的方法分析
Mar 19 PHP
简单实现PHP留言板功能
Dec 21 PHP
PHP预定义接口――Iterator用法示例
Jun 05 PHP
PHP控制循环操作的时间
Apr 01 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
德劲1102收音机的打理维修案例
2021/03/02 无线电
一个简单的php实现的MySQL数据浏览器
2007/03/11 PHP
解析php中获取系统信息的方法
2013/06/25 PHP
PHP调用.NET的WebService 简单实例
2015/03/27 PHP
PHP对象、模式与实践之高级特性分析
2016/12/08 PHP
如何打开php的gd2库
2017/02/09 PHP
php 使用curl模拟ip和来源进行访问的实现方法
2017/05/02 PHP
Javascript 面向对象 继承
2010/05/13 Javascript
JSON为什么那样红为什么要用json(另有洞天)
2012/12/26 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
javascript学习小结之prototype
2015/12/03 Javascript
node.js 和HTML5开发本地桌面应用程序
2016/12/13 Javascript
vue2.0中click点击当前li实现动态切换class
2017/06/21 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
JavaScript数据结构之双向链表和双向循环链表的实现
2017/11/28 Javascript
详解mpvue scroll-view自动回弹bug解决方案
2018/10/01 Javascript
vue中对象数组去重的实现
2020/02/06 Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
2020/06/07 Javascript
解决Vue router-link绑定事件不生效的问题
2020/07/22 Javascript
python 测试实现方法
2008/12/24 Python
python端口扫描系统实现方法
2014/11/19 Python
最基础的Python的socket编程入门教程
2015/04/23 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
Python多线程threading创建及使用方法解析
2020/06/17 Python
python如何从键盘获取输入实例
2020/06/18 Python
virtualenv介绍及简明教程
2020/06/23 Python
写一个方法1000的阶乘
2012/11/21 面试题
财务会计专业推荐信
2013/11/30 职场文书
护理专科毕业生自荐书范文
2014/02/19 职场文书
地理教师岗位职责
2014/03/16 职场文书
房产代理公证处委托书
2014/04/04 职场文书
租房协议书范例
2014/10/14 职场文书
《比的意义》教学反思
2016/02/18 职场文书
mysql死锁和分库分表问题详解
2021/04/16 MySQL
python中sys模块的介绍与实例
2021/04/17 Python