本文目錄一覽:
- 1、PHP顯IP的函數是多少?
- 2、php實現圖形顯示Ip地址的代碼及注釋
- 3、使用php怎麼顯示外網ip,要把php文件放到哪個路徑下啊
- 4、PHP怎麼獲取當前電腦的IP?
- 5、用PHP寫出顯示客戶端IP與服務器IP的代碼
PHP顯IP的函數是多少?
顯示ip不用函數的,只需打印PHP Variables就可以了
$_SERVER[“SERVER_ADDR”] 這個是服務器ip
$_SERVER[“REMOTE_ADDR”] 這個是客戶端ip
php實現圖形顯示Ip地址的代碼及注釋
使用圖形顯示Ip,文件
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怎麼顯示外網ip,要把php文件放到哪個路徑下啊
獲取客戶端(即訪問用戶)的IP
function getip() {
$unknown = ‘unknown’;
if ( isset($_SERVER[‘HTTP_X_FORWARDED_FOR’])
$_SERVER[‘HTTP_X_FORWARDED_FOR’]
strcasecmp($_SERVER[‘HTTP_X_FORWARDED_FOR’],
$unknown) ) {
$ip = $_SERVER[‘HTTP_X_FORWARDED_FOR’];
} elseif ( isset($_SERVER[‘REMOTE_ADDR’])
$_SERVER[‘REMOTE_ADDR’]
strcasecmp($_SERVER[‘REMOTE_ADDR’], $unknown) ) {
$ip = $_SERVER[‘REMOTE_ADDR’];
}
在要顯示的頁面的位置echo getip();
獲取客戶端IP的方法有很多,如果你只是要顯示IP,容易些。如果你還要根據IP獲取所在城市(例如:112.221.108.xxx來自上海xx)之類的。那就需要另外再處理。
自己加載IP庫不現實,不準還難得更新。所以一般都用網上的接口,taobao的比較穩定
PHP怎麼獲取當前電腦的IP?
本文所述php實例可以完成獲取局域網所有用戶的電腦IP和主機名、及mac地址的功能,對於php程序設計人員有一定的參考借鑒價值。完整代碼如下:
?php
$bIp = gethostbyname($_ENV[‘COMPUTERNAME’]); //獲取本機的局域網IP
echo “本機IP:”,$bIp,”\n”;
echo “本機主機名:”,gethostbyaddr($bIp),”\n\n\n”; //gethostbyaddr 函數可以根據局域網IP獲取主機名
//默認網關IP
list($ipd1,$ipd2,$ipd3) = explode(‘.’,$bIp);
$mask = $ipd1 . “.” . $ipd2 . “.” . $ipd3 ;
exec(‘arp -a’,$aIp); //獲取局域網中的其他IP
foreach( $aIp as $ipv) {
if(strpos($ipv,’接口’) !== false) {//一下顯示的IP是否是當前局域網中的 而不是其他的類型 可以在cmd下試一下命令
$bool = false;
preg_match(‘/(?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))/’,$ipv,$arr);
if(strcmp($arr[0],$bIp) == 0) {
$bool = true;
}
} else {
if($bool) {
$str = preg_replace(‘/\s+/’, ‘|’, $ipv);
$sArr = explode(‘|’,$str);
if($sArr[1] == ‘Internet’ || empty($sArr[1])) {
continue;
}
//去除默認網關
if(strcmp($mask . “.1”, $sArr[1]) == 0) {
continue;
}
//去除同網關下255的IP
if(strcmp($mask . “.255”, $sArr[1]) == 0) {
continue;
}
//去除組播IP
list($cIp) = explode(‘.’, $sArr[1]);
if($cIp = 224 $cIp = 239) {
continue;
}
echo “IP地址:|”,$sArr[1],”|\n”;
echo “MAC地址:”,$sArr[2],”\n”;
echo “主機名:”,gethostbyaddr($sArr[1]),”\n”;
echo “\n\n”;
}
}
}
用PHP寫出顯示客戶端IP與服務器IP的代碼
服務器IP用:
echo(gethostbyname($SERVER_NAME));
客戶端IP用下面函數:
function iptype1 () {
if (getenv(“HTTP_CLIENT_IP”)) {
return
getenv(“HTTP_CLIENT_IP”);
}
else {
return “none”;
}
}
function iptype2 () {
if (getenv(“HTTP_X_FORWARDED_FOR”)) {
return getenv(“HTTP_X_FORWARDED_FOR”);
}
else {
return “none”;
}
}
function iptype3 () {
if (getenv(“REMOTE_ADDR”)) {
return getenv(“REMOTE_ADDR”);
}
else {
return “none”;
}
}
function ip() {
$ip1 = iptype1();
$ip2 = iptype2();
$ip3
= iptype3();
if (isset($ip1) $ip1 != “none” $ip1 !=
“unknown”) {
return $ip1;
}
elseif (isset($ip2) $ip2
!= “none” $ip2 != “unknown”) {
return $ip2;
}
elseif
(isset($ip3) $ip3 != “none” $ip3 != “unknown”) {
return $ip3;
}
else {
return “none”;
}
}
使用時,直接調用ip();
原創文章,作者:LAYXX,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/317114.html