我想尝试在.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”。 为什么我错了? 感谢您的支持!
答案 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警告。