一个图形显示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 相关文章推荐
php discuz 主题表和回帖表的设计
Mar 13 PHP
PHP 类型转换函数intval
Jun 20 PHP
PHP爆绝对路径方法收集整理
Sep 17 PHP
PHP实现显示照片exif信息的方法
Jul 11 PHP
10个超级有用值得收藏的PHP代码片段
Jan 22 PHP
新浪SAE搭建PHP项目教程
Jan 28 PHP
PHP下载远程文件到本地存储的方法
Mar 24 PHP
Apache无法自动跳转却显示目录的解决方法
Nov 30 PHP
ThinkPHP发送邮件示例代码
Oct 08 PHP
PHP获取数组中单列值的方法
Jun 10 PHP
php基于自定义函数记录log日志方法
Jul 21 PHP
layui框架实现文件上传及TP3.2.3(thinkPHP)对上传文件进行后台处理操作示例
May 12 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
如何做到多笔资料的同步
2006/10/09 PHP
php实现httpRequest的方法
2015/03/13 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
2015/04/15 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
2015/05/13 PHP
javascript IFrame 强制刷新代码
2009/07/23 Javascript
JavaScript让IE浏览器event对象符合W3C DOM标准
2009/11/24 Javascript
JavaScript打字小游戏代码
2011/12/26 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
2014/05/23 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
jQuery Ajax 异步加载显示等待效果代码分享
2016/08/01 Javascript
全面解析Angular中$Apply()及$Digest()的区别
2016/08/04 Javascript
详解Js模板引擎(TrimPath)
2016/11/22 Javascript
javascript prototype原型详解(比较基础)
2016/12/26 Javascript
深入理解vue-router之keep-alive
2017/08/31 Javascript
javascript实现QQ空间相册展示源码
2017/12/12 Javascript
javascript数据结构之多叉树经典操作示例【创建、添加、遍历、移除等】
2018/08/01 Javascript
Vue实现简易翻页效果源码分享
2018/11/08 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
vue-cli配置全局sass、less变量的方法
2019/06/06 Javascript
Vue解析带html标签的字符串为dom的实例
2019/11/13 Javascript
vue 使用 canvas 实现手写电子签名
2020/03/06 Javascript
JS实现简易留言板(节点操作)
2020/03/16 Javascript
Vue实现简单计算器
2021/01/20 Vue.js
[40:03]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#1EHOME VS Archon
2016/03/02 DOTA
[03:11]DOTA2上海特锦赛小组赛第一日recap精彩回顾
2016/02/28 DOTA
[38:40]2018DOTA2亚洲邀请赛 4.6淘汰赛 mineski vs LGD 第一场
2018/04/10 DOTA
python抓取网页内容示例分享
2014/02/24 Python
Python单例模式的两种实现方法
2017/08/14 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
新闻专业大学生找工作的自我评价
2013/10/30 职场文书
公司中秋节活动方案
2014/02/12 职场文书
简单的大学生自我鉴定
2014/02/18 职场文书
小学英语课后反思
2014/04/26 职场文书
违章停车检讨书
2014/10/21 职场文书
导游词之湖北武当山
2019/09/23 职场文书