PHP shell_exec()导致txt文件?

时间:2011-09-30 15:31:19

标签: php file text-files shell-exec

我想尝试在.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”和“predictBatch”位于此PHP脚本的同一目录中。 POST方法检索变量$ username:$ user = $ _POST ['username']; 作为一个数组我把这个值放在另一个变量中:

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

我认为这是正确的,但我的目录中没有“error.txt”。 为什么我错了? 感谢您的支持!

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

$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.result看起来非常错误。

您还应该非常严重注意@mobius警告。