Home > Article > Backend Development > php实现图形显示Ip地址的代码_PHP教程
<?<span php </span><span header</span>("Content-type: image/gif"<span ); </span><span $im</span> = imagecreate(130,15<span ); </span><span $background_color</span> = ImageColorAllocate (<span $im</span>, 255, 255, 255<span ); </span><span unset</span>(<span $ip</span><span ); </span><span if</span>(<span $_SERVER</span>['HTTP_CLIENT_IP'<span ]){ </span><span $ip</span>=<span $_SERVER</span>['HTTP_CLIENT_IP'<span ]; } </span><span else</span> <span if</span>(<span $_SERVER</span>['HTTP_X_FORWARDED_FOR'<span ]){ </span><span $ip</span>=<span $_SERVER</span>['HTTP_X_FORWARDED_FOR'<span ]; } </span><span else</span><span { </span><span $ip</span>=<span $_SERVER</span>['REMOTE_ADDR'<span ]; } </span><span //</span><span www.jbxue.com</span> <span $col</span> = imagecolorallocate(<span $im</span>, 0, 51, 102<span ); imagestring(</span><span $im</span>, 3, 5, 1, <span $ip</span> , <span $col</span><span ); imagegif(</span><span $im</span><span ); imagedestroy(</span><span $im</span><span ); </span>?>
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. ?>
程序结束