我想知道如何从Physical Address. . . . . . . . . : xx-xx-xx-xx-xx-xx
获取文字$cmd = system('ipconfig /all')
。
当我写$ cmd = system('ipconfig /all')
时,我的屏幕上会显示一个文字。即使没有回应$cmd
。如何删除文本但文本的某些部分。我想在文字38 chars
Physical Address
注意:更重要的是要删除system('ipconfig /all')
的显示文本但仍包含在变量中
答案 0 :(得分:0)
除了穆罕默德的答案,你还可以使用输出缓冲。
类似的东西:
ob_start();
system('ipconfig /all');
$output = ob_get_clean();
print_r( $output);
应捕获从命令返回的所有内容。然后,您可以将其作为字符串进行操作。
答案 1 :(得分:0)
您可以将第二个参数发送到system函数以获取命令输出:
system('ipconfig /all', $output); //$output is result of command
此外,您可以使用shell_exec功能仅返回输出而不是默认回声,如下所示:
$output = shell_exec('ipconfig /all');
答案 2 :(得分:0)
$val = shell_exec('ipconfig /all');
echo $val;
答案 3 :(得分:0)
你需要测试一下,因为我不确切知道你的IPCONFIG结果(从操作系统到操作系统不同),但这里非常接近你想要的:
<?php
$command = "ipconfig /all";
$output = shell_exec($command);
$output = explode(PHP_EOL, $output);
$output = $output[0];
$result = explode("Physical Address",$output);
echo substr($result[1],20,17);
?>
请注意,您可能需要更改echo substr($result[1],20,15);
以满足您的需求,因为这取决于您拥有的网卡数量等。