本文目錄一覽:
php怎麼獲取當前域名的主機名
$_SERVER[‘SERVER_NAME’]可以獲取,用phpinfo()可以查看更多的這樣的有用變量。
如何通過php連接遠程主機並操作
一、最佳方案是在77機器上安裝apache和php
二、可以通過管道控制使用telnet登錄77號機執行命令並獲取結果,ssh連接本人沒有做過,telnet方法如下:
$f=fopen(“telnet://192.168.0.77″,”rw”);
$s=fgets($fp);
fputs($fp,”root”);
$s=fgets($fp);
fputs($fp,”pass”);
$s=fgets($fp);
fputs($fp,”df -h”);
while(!feof($fp)){
$fp=fgets($fp);
echo $s;
}
fclose($fp);
手機輸入真累~~~
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來獲得客戶端服務器ip的方法
?php
echo
“當前腳本服務器的主機名:”.gethostbyaddr($_SERVER[‘REMOTE_ADDR’]).”br
/hr
/”;
echo
“獲得當前運行PHP腳本(頁面)所在的服務器的
IP
地址:”.$_SERVER[‘SERVER_ADDR’].”br
/hr
/”;
echo
“獲得當前運行PHP腳本(頁面)所在的服務器的
主機名:”.$_SERVER[‘SERVER_NAME’];
echo
‘hr’;
echo
‘客戶端ip’.
$_SERVER[‘REMOTE_ADDR’];
echo
‘br’;
echo
‘客戶端ip’.getenv(‘REMOTE_ADDR’);
echo
“br”;
echo
‘服務器主機ip’.gethostbyname(“”);
?
運行出來:
當前腳本服務器的主機名:XYL-PC
獲得當前運行PHP腳本(頁面)所在的服務器的
IP
地址:127.0.0.1
獲得當前運行PHP腳本(頁面)所在的服務器的
主機名:localhost
客戶端ip127.0.0.1
客戶端ip127.0.0.1
服務器主機ip61.135.169.105
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/182140.html