本文实例为大家分享了php获取本机真实IP地址实例代码,供大家参考。
主要是获取操作系统为win2000/xp、win7的本机IP真实地址,和获取操作系统为linux类型的本机IP真实地址,具体内容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
function getLocalIP() {
$preg = "/\A((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\Z/" ;
//获取操作系统为win2000/xp、win7的本机IP真实地址
exec ( "ipconfig" , $out , $stats );
if (! empty ( $out )) {
foreach ( $out AS $row ) {
if ( strstr ( $row , "IP" ) && strstr ( $row , ":" ) && ! strstr ( $row , "IPv6" )) {
$tmpIp = explode ( ":" , $row );
if (preg_match( $preg , trim( $tmpIp [1]))) {
return trim( $tmpIp [1]);
}
}
}
}
//获取操作系统为linux类型的本机IP真实地址
exec ( "ifconfig" , $out , $stats );
if (! empty ( $out )) {
if (isset( $out [1]) && strstr ( $out [1], 'addr:' )) {
$tmpArray = explode ( ":" , $out [1]);
$tmpIp = explode ( " " , $tmpArray [1]);
if (preg_match( $preg , trim( $tmpIp [0]))) {
return trim( $tmpIp [0]);
}
}
}
return '127.0.0.1' ;
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助。