一个图形显示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中与数组相关的函数
Mar 22 PHP
编写漂亮的代码 - 将后台程序与前端程序分开
Apr 23 PHP
Ha0k 0.3 PHP 网页木马修改版
Oct 11 PHP
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
May 04 PHP
php以post形式发送xml的方法
Nov 04 PHP
在Windows系统下使用PHP生成Word文档的教程
Jul 03 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
Mar 28 PHP
浅谈php中curl、fsockopen的应用
Dec 10 PHP
php批量删除操作(数据访问)
May 23 PHP
php学习笔记之mb_strstr的基本使用
Feb 03 PHP
PHP判断当前使用的是什么浏览器(推荐)
Oct 27 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使用CURL实现对带有验证码的网站进行模拟登录的方法
2014/07/23 PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
2014/07/30 PHP
php求一个网段开始与结束IP地址的方法
2015/07/09 PHP
php判断linux下程序问题实例
2015/07/09 PHP
js表数据排序 sort table data
2009/02/18 Javascript
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
CSS+Jquery实现页面圆角框方法大全
2009/12/24 Javascript
JavaScript Eval 函数使用
2010/03/23 Javascript
JSChart轻量级图形报表工具(内置函数中文参考)
2010/10/11 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(五)可移动地图的实现
2013/01/23 Javascript
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
js中parseInt函数浅谈
2013/07/31 Javascript
页面定时刷新(1秒刷新一次)
2013/11/22 Javascript
经过绑定元素时会多次触发mouseover和mouseout事件
2014/02/28 Javascript
jQuery仿gmail实现fixed布局的方法
2015/05/27 Javascript
jQuery插件datalist实现很好看的input下拉列表
2015/07/14 Javascript
JS验证图片格式和大小并预览的简单实例
2016/10/11 Javascript
JS高仿抛物线加入购物车特效实现代码
2017/02/20 Javascript
JS实现键值对遍历json数组功能示例
2018/05/30 Javascript
详解Koa中更方便简单发送响应的方式
2018/07/20 Javascript
详解js删除数组中的指定元素
2018/10/31 Javascript
使用layui的router来进行传参的实现方法
2019/09/06 Javascript
基于aotu.js实现微信自动添加通讯录中的联系人功能
2020/05/28 Javascript
[01:14]DOTA2亚洲邀请赛小组赛赛前花絮
2017/03/27 DOTA
[01:11]回顾历届DOTA2国际邀请赛中国区预选赛
2017/06/26 DOTA
python判断文件是否存在,不存在就创建一个的实例
2019/02/18 Python
Python Web框架之Django框架文件上传功能详解
2019/08/16 Python
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
Hashtable 添加内容的方式有哪几种,有什么区别?
2012/04/08 面试题
Linux面试经常问的文件系统操作命令
2016/10/04 面试题
Java Servlet API中forward() 与redirect()的区别
2014/04/20 面试题
《小白兔和小灰兔》教学反思
2014/02/18 职场文书
2015年教师工作总结范文
2015/03/31 职场文书
捐书活动倡议书
2015/04/27 职场文书
2019销售早会主持词
2019/06/27 职场文书
利用Python将list列表写入文件并读取的方法汇总
2022/03/25 Python