PHP shell_exec () в результате в текстовом файле? - PullRequest
1 голос
/ 30 сентября 2011

Я хотел бы попытаться увидеть выходные данные двух вызовов 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" и "ForegnetBatch" находятся в одном каталоге скрипта PHP Переменная $ username извлекается методом POST: $ user = $ _POST ['username']; Будучи массивом, я помещаю значение в другую переменную следующим образом:

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

Я думаю, что это правильно, но у меня нет "error.txt" внутри моего каталога. Почему я не прав? Спасибо за вашу поддержку!

1 Ответ

0 голосов
/ 12 декабря 2011

Попробуйте следующее:

$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.

...