PHP shell_exec()的结果在txt文件


PHP shell_exec() result in txt file?

我想尝试查看.txt文件中两个shell_exec()调用的输出。所以我试着这样做:

$data_server = shell_exec('./c5.0demo -f $username -r');
$errorFile = "error.txt";
$fileopen = fopen($errorfile, 'w') or die ("can't open file");
fwrite($fileopen, $data_server);
$data_server2 = shell_exec('./predictBatch -f $username -r > $username.result');
$fileopen = fopen($errorfile, 'w') or die ("can't open file");
fwrite($fileopen, $data_server2);

可执行文件"c5.0demo"answers"predictBatch"位于PHP脚本的同一目录中。变量$username通过POST方法检索:$user = $_POST['username'];作为一个数组,我将值放入另一个变量中:

 foreach($user as $val)
 $username .= $val;

我认为这是正确的,但我没有"error.txt"在我的目录。为什么我错了?感谢大家的支持!

尝试如下:

$data_server = shell_exec("./c5.0demo -f $username -r");
$data_server2 = shell_exec("./predictBatch -f $username -r > $username.result");
file_put_contents("/path/to/log/error.txt","{$data_server} : {$data_server2}'n",FILE_APPEND);

显然需要定义$username -另外,$username的数据类型是什么?我问,因为$username。结果看起来很错误。

你也应该非常认真注意@mobius的警告