先看代码
sunip.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'];
}elseif($_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.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'];
}elseif($_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.?>
程序结束