我正在尝试在Centos计算机上运行rate -c 192.168.122.0/24
命令,并使用shell_exec('rate -c 192.168.122.0/24')
命令将该命令的输出写入文本文件;仍然没有运气!!
答案 0 :(得分:3)
如果你不需要PHP,你可以在shell中运行它:
rate -c 192.168.122.0/24 > file.txt
如果你必须从PHP运行它:
shell_exec('rate -c 192.168.122.0/24 > file.txt');
“>” character将命令的输出重定向到文件。
答案 1 :(得分:1)
您还可以通过PHP获取输出,然后将其保存到文本文件
$output = shell_exec('rate -c 192.168.122.0/24');
$fh = fopen('output.txt','w');
fwrite($fh,$output);
fclose($fh);
答案 2 :(得分:1)
如您忘了提及,您的命令提供非结束输出流。要实时读取输出,您需要使用popen。
PHP网站上的示例:
$handle = popen('/path/to/executable 2>&1', 'r');
echo "'$handle'; " . gettype($handle) . "\n";
$read = fread($handle, 2096);
echo $read;
pclose($handle);
您可以像文件一样阅读过程输出。
答案 3 :(得分:0)
$path_to_file = 'path/to/your/file';
$write_command = 'rate -c 192.168.122.0/24 >> '.$path_to_file;
shell_exec($write_command);
希望这会有所帮助。 :d
这将引导您走向一个好方法。 https://unix.stackexchange.com/a/127529/41966