JARファイルに変換され、PHPファイルと同じディレクトリに置かれた次のJAVAプログラムがあります。 だから、基本的には、PHPで渡される引数を取り、それがPHPでJARから戻り値を取得して表示する方法
public class Test {
public static void main(String[] args) throws Exception {
//Takes the value passed from the PHP
String Name = (new String(args[0])).toString();
//This will be treated as Output Parameter which will be returned to PHP
System.out.println("Return to PHP");
}
}
以下のJARファイルを実行し、JARに必要な1つのパラメータを渡します、私のPHPコードで表示します。
<?php
$arg1 = "My_INPUT_PARAMETER";
shell_exec("java -jar TEST.jar $arg1");
echo "Done";
?>
は私が今までにSYSOUT(のSystem.out.println)に配置されたものを出力パラメータとして扱われるか、PHPに値を返すことになることをどこかで読みました。 私の場合、それはString "Return to PHP"になります。
しかし、PHPに値を渡して表示することができません。
出力値をexec文に置こうとしましたが、動作しませんでした。 私は以下のコードを試しましたが、それは私にエラーを投げます。
<?php
$arg1 = "My_INPUT_PARAMETER";
$output = '';
shell_exec("java -jar TEST.jar $arg1", $output);
echo "Done";
echo $output;
?>
誰もがここで私を助けることができ、私はPHPからPHPまたは出力パラメータからの戻り値を取得し、それを表示したり、私のPHPでそれを使用し、他の実行部を続行するにはどうすればよいです。
最初の例は、doc http://php.net/manual/en/function.shell-exec.phpでご覧ください。 '$ output = shell_exec(" java -jar TEST.jar $ arg1 ");' –
@RolandStarke Thanks mate、その作業ファイルです。これは単一の戻り値に対してうまく動作しますが、JARファイルが複数の値を返している場合はどうすればよいでしょうか? –