本文目錄一覽:
php怎麼獲取當前域名的主機名
$_SERVER[‘SERVER_NAME’]可以獲取,用phpinfo()可以查看更多的這樣的有用變量。
php本機調試更改主機名後的問題
這個是地址錯誤,也就是你導入的路徑錯誤。你可以自己寫個配置文件,在裏面設置你所需要連接的地址(URL),在你需要使用的地方導入,使用配置文件裏面的元素就可以了,那就不用改來改去的,只需要修改你配置文件裏面的內容就OK了
php實現獲取局域網所有用戶的電腦IP和主機名、及mac地址完整實例
本文所述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”;
}
}
}
該程序是在cli模式下運行的,在瀏覽器上應該也可以
php獲取局域網中的用戶ip功能就完成了,主要用到的是php的exec函數
和window的arp
-a
命令
其中獲取本機IP:gethostbyname($_ENV[‘COMPUTERNAME’])
有別於以往的寫法,感興趣的朋友可以繼續深入研究一下。
獲取主機名函數:gethostbyaddr(IPd)
這個函數功能也很強大。
php 怎麼判斷對方的主機名。
獲取對方的http地址么,
其實你用php的話,他內置的有個全局變量,叫$_SERVER,在其中有可以找到您要的答案
比如知道對方ip地址$_SERVER[‘REMOTE_ADD’]
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/293891.html