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

 更新时间:2007年10月19日 16:43:49   作者:  
先看代码
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中curl、fsockopen的应用

    浅谈php中curl、fsockopen的应用

    下面小编就为大家带来一篇浅谈php中curl、fsockopen的应用。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • ThinkPHP中redirect用法分析

    ThinkPHP中redirect用法分析

    这篇文章主要介绍了ThinkPHP中redirect用法,实例分析了redirect重定向的各种常见操作技巧,具有一定的实用价值,需要的朋友可以参考下
    2014-12-12
  • Laravel框架查询构造器简单示例

    Laravel框架查询构造器简单示例

    这篇文章主要介绍了Laravel框架查询构造器,结合实例形式分析了Laravel框架操作数据库增删改查、排序、统计等简单操作技巧,需要的朋友可以参考下
    2019-05-05
  • php 如何禁用eval() 函数实例详解

    php 如何禁用eval() 函数实例详解

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险并经常会出现一些问题,今天我们就一起来看看eval函数对数组的操作及php 如何禁用eval() 函数,需要的朋友可以参考下
    2016-12-12
  • PHP数组和explode函数示例总结

    PHP数组和explode函数示例总结

    有关php分割字符串explode函数的用法,使用explode函数将字符串分割到数组,这里给大家总结了几个示例,需要的朋友参考下。
    2015-05-05
  • 使用PHP备份MYSQL数据的多种方法

    使用PHP备份MYSQL数据的多种方法

    通常情况下,我们都是使用工具备份,比如phpmyadmin、navicat。如果需要使用PHP备份,如何实现呢
    2014-01-01
  • ECMall支持SSL连接邮件服务器的配置方法详解

    ECMall支持SSL连接邮件服务器的配置方法详解

    这篇文章主要介绍了ECMall支持SSL连接邮件服务器的配置方法详解
    2014-05-05
  • 用PHP的socket实现客户端到服务端的通信实例详解

    用PHP的socket实现客户端到服务端的通信实例详解

    本篇文章主要介绍了用PHP的socket实现客户端到服务端的通信实例详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-02-02
  • Laravel 5.5中为响应请求提供的可响应接口详解

    Laravel 5.5中为响应请求提供的可响应接口详解

    这篇文章主要给大家介绍了关于Laravel 5.5中为响应请求提供的可响应接口的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • PHP中将ip地址转成十进制数的两种实用方法

    PHP中将ip地址转成十进制数的两种实用方法

    现在PHP中有很多时候都会用到ip地址,但是这个ip地址获取的时候都不是10进制的。那么PHP中如何将ip地址转成十进制数,下面为大家介绍下两种方法可以轻松实现
    2013-08-08

最新评论