我尝试将linux命令ifconfig
的输出保存到变量中并在我的html中显示它。我有两个页面,一个test.html
和一个ajax.php
。如果我点击test.html
上的链接,那么会向ajax.php
发出ajax请求,执行ifconfig并将结果发送回test.html
,其中body标签的整个html被替换为输出。
我的ajax.php
中有此代码。如您所见,我将ifconfig
的输出写入文件,因此我可以从文件流中读取每一行并输出它们。
shell_exec ("/sbin/ifconfig > /tmp/ifconfig 2>&1");
$ifconfig = fopen("/tmp/ifconfig","r") or die ("Unable to open file '/tmp/ifconfig'");
while(!feof($ifconfig))
{
echo fgets($ifconfig). "<br>";
}
fclose($ifconfig);
但不是像这样的输出:
eth0 Link encap:Ethernet HWaddr 0A:58:C2:71:7A:90
inet addr:172.15.47.121 Bcast:172.25.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:238319 errors:0 dropped:0 overruns:0 frame:0
TX packets:122439 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:21355179 (20.3 MiB) TX bytes:19679738 (18.7 MiB)
我得到了这个输出:
eth0 Link encap:Ethernet HWaddr 0A:58:C2:71:7A:905
inet addr:172.15.47.121 Bcast:172.15.255.223 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:23405 errors:0 dropped:14 overruns:0 frame:0
TX packets:16390 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1613474 (1.5 MiB) TX bytes:19949404 (19.0 MiB)
有人可以告诉我如何以与实际格式相同的格式获取输出吗? 注意:地址不实,我改了。