1

.txtファイルで2つの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のスクリプトの同じディレクトリにあります。変数$usernameは、POSTメソッドによって取得されます。$ user = $ _POST ['username']; 配列なので、次のようにして値を別の変数の中に入れます。

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

これは正しいと思いますが、ディレクトリ内に「error.txt」がありません。なぜ私は間違っているのですか?たくさんのご支援ありがとうございます!

4

1 に答える 1

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 の警告に非常に真剣に注意する必要があります。

于 2011-12-12T14:50:18.857 に答える