一個圖形顯示IP的PHP程序代碼
更新時間:2007年10月19日 16:43:49 作者:
先看代碼
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)括號內(nèi)130,15分別代表寬度和高度
4. $background_color = ImageColorAllocate ($im, 255, 255, 255);
設(shè)置背景顏色 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']下面類似 為判斷 此段是為了兼容多種服務(wù)器設(shè)置
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);
釋放內(nèi)存
11. ?>
程序結(jié)束
sunip.php
復(fù)制代碼 代碼如下:
<?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)括號內(nèi)130,15分別代表寬度和高度
4. $background_color = ImageColorAllocate ($im, 255, 255, 255);
設(shè)置背景顏色 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']下面類似 為判斷 此段是為了兼容多種服務(wù)器設(shè)置
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);
釋放內(nèi)存
11. ?>
程序結(jié)束
相關(guān)文章
PHP數(shù)組和explode函數(shù)示例總結(jié)
有關(guān)php分割字符串explode函數(shù)的用法,使用explode函數(shù)將字符串分割到數(shù)組,這里給大家總結(jié)了幾個示例,需要的朋友參考下。2015-05-05
用PHP的socket實現(xiàn)客戶端到服務(wù)端的通信實例詳解
本篇文章主要介紹了用PHP的socket實現(xiàn)客戶端到服務(wù)端的通信實例詳解,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-02-02
Laravel 5.5中為響應(yīng)請求提供的可響應(yīng)接口詳解
這篇文章主要給大家介紹了關(guān)于Laravel 5.5中為響應(yīng)請求提供的可響應(yīng)接口的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11
PHP中將ip地址轉(zhuǎn)成十進制數(shù)的兩種實用方法
現(xiàn)在PHP中有很多時候都會用到ip地址,但是這個ip地址獲取的時候都不是10進制的。那么PHP中如何將ip地址轉(zhuǎn)成十進制數(shù),下面為大家介紹下兩種方法可以輕松實現(xiàn)2013-08-08

