我有一个java jar文件,它在完成时生成一个图像。我需要从PHP服务器调用它。如何在网页上显示图像?exec()或passthru()不提供返回图像的功能。
发布于 2012-08-05 17:54:52
我认为有两种可能性:
Java
passthru()应该可以工作。要检查这一点,首先手动调用您的Java程序,将输出保存到一个文件并查看该文件,例如通过java your.jar > test.gif。如果可以,请使用以下PHP脚本开始:可能存在一些问题,如web服务器无法访问java可执行文件或jar文件。如果是这样,请尝试使用绝对路径。
发布于 2012-08-05 17:49:55
如果Java返回的图像是一个有效的图像,那么在PHP中,你只需要使用header()函数发送一个额外的头文件,这样浏览器就会知道这是一个图像,而不是普通的超文本标记语言。
例如(假设返回的图片为JPEG格式):
header('Content-Type: image/jpeg');
readfile('path/to/yourimage.jpg');http://php.net/manual/en/function.header.php
http://php.net/manual/en/function.readfile.php
另一种方法是使用exec()函数执行JAR文件。应该是这样的:
header('Content-Type: image/jpeg');
exec('java -jar /path/to/file.jar', $output);http://php.net/manual/en/function.exec.php
https://stackoverflow.com/questions/11815337
复制相似问题