先看代碼
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. ?>
程序結束