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