我希望在网络浏览器中看到以下代码的输出:
代码:
<?php
$var = system('fdisk -l');
echo "$var";
?>
当我从Web浏览器打开它时,Web浏览器中没有输出。那我该怎么做呢?请帮忙!
由于 Puspa
答案 0 :(得分:3)
你可以像以下一样使用passthru:
$somevar = passthru('echo "Testing1"');
// $somevar now == "Testing1"
或
echo passthru('echo "Testing2"');
// outputs "Testing2"
答案 1 :(得分:1)
使用exec('command',$ output);
的print_r($输出);
答案 2 :(得分:1)
首先,请确保允许您(=运行php的用户)调用外部程序(OS访问权限,php.ini中的safe_mode设置)。然后你在PHP中有很多选项可以通过命令行调用程序。我最常用的是:
如果命令失败或返回输出的 last 行,则此函数返回false。
$lastLine = system('...');
此函数/运算符以字符串形式返回命令的整个输出。
$output = shell_exec('...'); // or:
$output = `...`;
此函数返回命令输出的 last 行。但是你可以给它一个第二个参数,然后从命令输出中包含所有行。
$lastLine = exec('...'); // or capturing all lines from output:
$lastLine = exec('...', $allLines);
以下是这些用例的所有函数的概述:http://de.php.net/manual/en/ref.exec.php