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

  先看代码

  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. ?>

  程序结束