一个图形显示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 相关文章推荐
编译问题
Oct 09 PHP
PHP Squid中可缓存的动态网页设计
Sep 17 PHP
JSON在PHP中的应用介绍
Sep 08 PHP
php 目录遍历、删除 函数的使用介绍
Apr 28 PHP
Zend Studio 实用快捷键一览表(精心整理)
Aug 10 PHP
用 Composer构建自己的 PHP 框架之构建路由
Oct 30 PHP
php短网址和数字之间相互转换的方法
Mar 13 PHP
php写入数据到CSV文件的方法
Mar 14 PHP
php基本函数汇总
Jul 09 PHP
WIFI万能钥匙密码查询接口实例
Sep 28 PHP
Thinkphp框架开发移动端接口(2)
Aug 18 PHP
php反射学习之不用new方法实例化类操作示例
Jun 14 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面向对象的方法重载两种版本比较
2008/09/08 PHP
PHP基础陷阱题(变量赋值)
2012/09/12 PHP
CodeIgniter分页类pagination使用方法示例
2016/03/28 PHP
php微信公众号js-sdk开发应用
2016/11/28 PHP
详解php中的implements 使用
2017/06/13 PHP
PHP如何搭建百度Ueditor富文本编辑器
2018/09/21 PHP
JavaScript函数、方法、对象代码
2008/10/29 Javascript
详谈 Jquery Ajax异步处理Json数据.
2011/09/09 Javascript
javascript使用call调用微信API
2014/12/15 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
js判断浏览器类型及设备(移动页面开发)
2015/07/30 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
2016/12/28 Javascript
利用canvas实现的加载动画效果实例代码
2017/07/05 Javascript
详解在express站点中使用ejs模板引擎
2017/09/21 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
详解Angular中通过$location获取地址栏的参数
2018/08/02 Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
2019/02/27 jQuery
记一次vue跨域的解决
2020/10/21 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
2020/11/04 Javascript
[51:44]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第二场
2018/04/04 DOTA
Python urlopen 使用小示例
2008/09/06 Python
python中assert用法实例分析
2015/04/30 Python
在Python中操作字符串之replace()方法的使用
2015/05/19 Python
Python爬虫实例爬取网站搞笑段子
2017/11/08 Python
Python如何在循环内使用list.remove()
2020/06/01 Python
用HTML5制作一个简单的弹力球游戏
2015/05/12 HTML / CSS
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/01/13 面试题
Python里面如何拷贝一个对象
2014/02/17 面试题
2014年两会学习心得体会
2014/03/17 职场文书
闪闪的红星观后感
2015/06/08 职场文书
2016年读书月活动总结范文
2016/04/06 职场文书
怎样评估创业计划书是否有可行性?
2019/08/07 职场文书
解决Mysql多行子查询的使用及空值问题
2022/01/22 MySQL
Python OpenCV形态学运算示例详解
2022/04/07 Python
动作冒险《Hell Is Us》将采用虚幻5 消灭怪物探索王国
2022/04/13 其他游戏
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
2022/06/21 Python