如何从 PHP 中的 JAR 中捕获 return 值并显示它
How to capture return value from JAR in PHP and display it
我有以下 JAVA 程序,它已转换为 JAR 文件并与我的 PHP 文件放在同一目录中。
所以基本上它接受 PHP 传递的参数并显示它
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");
}
}
下面是我的 PHP 代码,它将执行 JAR 文件并将所需的 1 个参数传递给 JAR。
<?php
$arg1 = "My_INPUT_PARAMETER";
shell_exec("java -jar TEST.jar $arg1");
echo "Done";
?>
我在某处读到,放置在 Sysout (System.out.println) 中的任何内容都将被视为输出参数或 Return 值 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 中获取 return 值或从 PHP 中获取输出参数并在我的 [=30= 中显示或使用它] 并继续其他执行部分。
谢谢@Roland Starke。
所以基本上我们可以使用 2 条语句来 运行 来自 PHP 的 JAR 文件:
执行和 SHELL_EXEC.
EXEC 将保存 JAR 文件中的所有 return 值,我们可以将其用作数组并显示所需的输出参数。
SHELL_EXEC会保留所有的输出参数,并且会一次性全部显示。
<?php
$arg1 = "Multi Return";
exec("java -jar TEST.jar $arg1",$output);
echo $output[0]."<br/>";
echo $output[1];
echo "-------------------------------";
$shell_out = shell_exec("java -jar TEST.jar $arg1");
echo $shell_out;
?>
我有以下 JAVA 程序,它已转换为 JAR 文件并与我的 PHP 文件放在同一目录中。 所以基本上它接受 PHP 传递的参数并显示它
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");
}
}
下面是我的 PHP 代码,它将执行 JAR 文件并将所需的 1 个参数传递给 JAR。
<?php
$arg1 = "My_INPUT_PARAMETER";
shell_exec("java -jar TEST.jar $arg1");
echo "Done";
?>
我在某处读到,放置在 Sysout (System.out.println) 中的任何内容都将被视为输出参数或 Return 值 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 中获取 return 值或从 PHP 中获取输出参数并在我的 [=30= 中显示或使用它] 并继续其他执行部分。
谢谢@Roland Starke。
所以基本上我们可以使用 2 条语句来 运行 来自 PHP 的 JAR 文件: 执行和 SHELL_EXEC.
EXEC 将保存 JAR 文件中的所有 return 值,我们可以将其用作数组并显示所需的输出参数。
SHELL_EXEC会保留所有的输出参数,并且会一次性全部显示。
<?php
$arg1 = "Multi Return";
exec("java -jar TEST.jar $arg1",$output);
echo $output[0]."<br/>";
echo $output[1];
echo "-------------------------------";
$shell_out = shell_exec("java -jar TEST.jar $arg1");
echo $shell_out;
?>