我用这个代码来了解访客(客户端)的一些信息。 它已经在我的XAMPP虚拟服务器上运行,但我不能老是我的主服务器(主机)上运行。 我看到的只是一个空白页。
$info = system('ipconfig /all');
echo $info;
我用这个代码来了解访客(客户端)的一些信息。 它已经在我的XAMPP虚拟服务器上运行,但我不能老是我的主服务器(主机)上运行。 我看到的只是一个空白页。
$info = system('ipconfig /all');
echo $info;
这可能帮助您
服务器IP
您可以从服务器获取IP地址$_SERVER['SERVER_ADDR']
客户端的IP地址
您可以从客户端获取IP $_SERVER['REMOTE_ADDR']
编辑 :你的意见如何得到外部命令的输出要求-一种方法是使用反引号,如
$ipAddress=$_SERVER['REMOTE_ADDR'];
$macAddr=false;
#run the external command, break output into lines
$arp=`arp -a $ipAddress`;
$lines=explode("\n", $arp);
#look for the output line describing our IP address
foreach($lines as $line)
{
$cols=preg_split('/\s+/', trim($line));
if ($cols[0]==$ipAddress)
{
$macAddr=$cols[1];
}
}
但是,如果客户端是什么并不局域网上?
那么,你的运气,除非你可以有客户自愿的信息,并通过其他方式传送。 见彼得摹苹果对使用Javascript建议。
你也可以尝试下面的命令
<?php
// http://www.php.net/manual/en/function.exec.php#85930
$_ = null;
// If you care about the return value, use this:
passthru("C:\\WINDOWS\\system32\\cmd.exe /c custom.bat",$_);
header('Content-Type: text/plain');
echo $_;
// if you don't care, just use this:
$_ = exec("C:\\WINDOWS\\system32\\cmd.exe /c custom.bat");
?>
这将只能获得服务器 IP信息,而不是客户端。 因为你是你的本地计算机上运行代码,你会看到你的本地信息(这将是一样的服务器信息)。
此外,如果你的主机服务器运行Linux操作系统,该命令将ifconfig
,但仍然只会得到服务器的信息。
好吧,既然你澄清,该服务器基于Linux,在Linux上正确的命令是
/sbin/ifconfig -a
返回的数据会略有不同
eth0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: 0000::000:0000:0000:0000/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:14141910 errors:0 dropped:0 overruns:0 frame:0
TX packets:6532919 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4462743134 (4.4 GB) TX bytes:1340503018 (1.3 GB)
Interrupt:22 Memory:f6ae0000-f6b00000