将终端输出结果写入php中的文件

时间:2013-01-15 13:41:05

标签: php system output

我已经使用系统运行我的命令,我希望它将终端结果复制到名为output.txt的文件中。当我在浏览器上运行我的php脚本时,它会显示结果,但不会在output.txt中显示该文件为空。

echo '<pre>';

$last_line = system('ruby /home/simon/ruby-grok/examples/result.rb', $retval);

echo '</pre>';

$out = fopen('output.txt', 'w'); //output handler
fputs($out,$last_line); //writing output operation
fclose($out); 

2 个答案:

答案 0 :(得分:0)

代码似乎很好。 脚本是否具有在该特定文件中写入的权限?你可以尝试而不是

$out = fopen('output.txt', 'w'); //output handler
fputs($out,$last_line); //writing output operation
fclose($out); 

把这个:

file_put_contents('output.txt',$last_line);

编辑:

是的,我忘了问。您的浏览器显示什么输出? $ out变量中有没有数据?

答案 1 :(得分:0)

使用反引号要好得多。

$variable = `ls -l`;

然后:

$out = fopen('output.txt', 'w'); //output handler

fputs($out,$variable); //writing output operation

fclose($out); 

或:

file_put_content('output.txt',$variable);