一个图形显示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+xslt在windows平台上
Oct 09 PHP
屏蔽浏览器缓存另类方法
Oct 09 PHP
php防注
Jan 15 PHP
PHP 金额数字转换成英文
May 06 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
Jun 02 PHP
php curl获取网页内容(IPV6下超时)的解决办法
Jul 16 PHP
保存到桌面、设为桌面且带图标的PHP代码
Nov 19 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 PHP
php编写批量生成不重复的卡号密码代码
May 14 PHP
PHP中常用的数组操作方法笔记整理
May 16 PHP
php mysql PDO 查询操作的实例详解
Sep 23 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
Jan 23 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
火车头discuz6.1 完美采集的php接口文件
2009/09/13 PHP
php从数据库中获取数据用ajax传送到前台的方法
2018/08/20 PHP
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
用队列模拟jquery的动画算法实例
2015/01/20 Javascript
Bootstrap表单布局
2016/07/19 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
探讨跨域请求资源的几种方式(总结)
2016/12/02 Javascript
纯JS实现表单验证实例
2016/12/24 Javascript
JS基于封装函数实现的表格分页完整示例
2018/06/26 Javascript
Vue 理解之白话 getter/setter详解
2019/04/16 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
vue 导航内容设置选中状态样式的例子
2019/11/01 Javascript
微信小程序动态设置图片大小的方法
2019/11/21 Javascript
[56:00]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第一局
2016/03/05 DOTA
[53:10]完美世界DOTA2联赛决赛日 FTD vs GXR 第二场 11.08
2020/11/11 DOTA
python数据结构之二叉树的建立实例
2014/04/29 Python
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
在pycharm上mongodb配置及可视化设置方法
2018/11/30 Python
django 配置阿里云OSS存储media文件的例子
2019/08/20 Python
python元组和字典的内建函数实例详解
2019/10/22 Python
Pytorch根据layers的name冻结训练方式
2020/01/06 Python
Python配置pip国内镜像源的实现
2020/08/20 Python
Python安装并操作redis实现流程详解
2020/10/13 Python
全网最全python库selenium自动化使用详细教程
2021/01/12 Python
numba提升python运行速度的实例方法
2021/01/25 Python
python中spy++的使用超详细教程
2021/01/29 Python
CSS3中animation实现流光按钮效果
2020/12/21 HTML / CSS
html5中canvas学习笔记1-画板的尺寸与实际显示尺寸
2013/01/06 HTML / CSS
玩具公司的创业计划书
2013/12/31 职场文书
外国人聘用意向书
2014/04/01 职场文书
班组建设经验交流材料
2014/05/12 职场文书
债务授权委托书范本
2014/10/17 职场文书
2014年煤矿安全工作总结
2014/12/04 职场文书
nginx基于域名,端口,不同IP的虚拟主机设置的实现
2021/03/31 Servers
SQL语句多表联合查询的方法示例
2022/04/18 MySQL
Python四款GUI图形界面库介绍
2022/06/05 Python