Login
网站首页 > 文章中心 > 其它

php获取局域网ip_c#获取局域网内所有ip

作者:小编 更新时间:2023-09-18 18:39:14 浏览量:354人看过

PHP如何获取内网IP

试试$_SERVER['REMOTE_ADDR']如果服务器在外网的话,

那么访问的话获得的是外网的IP,无法获取内网IP.

希望回答对你有帮助,如果有疑问,请继续追问

答题不易,互相理解,您的采纳是我前进的动力,感谢您.

php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例

本文所述php实例可以完成获取局域网所有用户的电脑IP和主机名、及mac地址的功能,对于php程序设计人员有一定的参考借鉴价值.完整代码如下:

php

$bIp

=

gethostbyname($_ENV['COMPUTERNAME']);

//获取本机的局域网IP

echo

"本机IP:",$bIp,"\n";

"本机主机名:",gethostbyaddr($bIp),"\n\n\n";

//gethostbyaddr

函数可以根据局域网IP获取主机名

//默认网关IP

explode('.',$bIp);

$mask

$ipd1

.

"."

;

exec('arp

-a',$aIp);

//获取局域网中的其他IP

foreach(

$aIp

as

$ipv)

{

if(strpos($ipv,'接口')

!==

false)

{//一下显示的IP是否是当前局域网中的

而不是其他的类型

可以在cmd下试一下命令

$bool

false;

if(strcmp($arr[0],$bIp)

==

0)

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])

//去除组播IP

list($cIp)

explode('.',

$sArr[1]);

if($cIp

$cIp

"IP地址:|",$sArr[1],"|\n";

"主机名:",gethostbyaddr($sArr[1]),"\n";

"\n\n";

该程序是在cli模式下运行的,在浏览器上应该也可以

php获取局域网中的用户ip功能就完成了,主要用到的是php的exec函数

和window的arp

-a

命令

其中获取本机IP:gethostbyname($_ENV['COMPUTERNAME'])

有别于以往的写法,感兴趣的朋友可以继续深入研究一下.

获取主机名函数:gethostbyaddr(IPd)

这个函数功能也很强大.

php获取局域网IP

php如何获取局域网内网的IP

这个跟你的路由设置和访问方式有关.

php怎么获取服务器内网ip?

//服务器在局域网的话,那么显示的则是内网IP

$onlineip?=?$_SERVER['REMOTE_ADDR'];

echo?$onlineip;

php怎么获取公网ip和内网ip

$ip=$_SERVER["REMOTE_ADDR"];

SetCookie("ip","$ip");

$ip==isset($_COOKIE['ip']);

我这个得到的是外网IP

echo '内网';

内网A类网段只开列了常见的部分,其余的你自己增减

以上就是土嘎嘎小编为大家整理的php获取局域网ip相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章