1

完了時にイメージを生成する Java jar ファイルがあります。これを PHP サーバーから呼び出す必要があります。Web ページに画像を表示するにはどうすればよいですか? exec()またはpassthru()画像を返す機能を提供しません。

4

2 に答える 2

1

2 つの可能性があります。

  1. Java プログラムで、Web サーバーが読み取れる場所にイメージ ファイルを書き込むようにします。次に、イメージの作成とイメージの取得の手順を分離する必要があります。
  2. Java プログラムがイメージを標準出力に書き込める場合は、動作するpassthru()はずです。これを確認するには、最初に Java プログラムを手動で呼び出し、出力をファイルに保存して、たとえばjava your.jar > test.gif. これが機能する場合は、次の PHP スクリプトを使用して開始します。

    <?php
        header('Content-Type: image/gif');
        passthru('java your.jar');
    ?>
    

Web サーバーが Java 実行可能ファイルまたは jar ファイルにアクセスできないなどの問題が発生している可能性があります。その場合は、絶対パスを使用してみてください。

于 2012-08-05T09:54:51.570 に答える
0

Java によって返された画像が有効な画像である場合、PHP では関数を使用して追加のヘッダーを送信するだけでよいheader()ため、ブラウザはそれが画像であり、通常の HTML ではないことを認識します。

例 (返された画像が 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


別の方法として、関数を使用して JAR ファイルを実行することもできますexec()。次のようになります。

header('Content-Type: image/jpeg');
exec('java -jar /path/to/file.jar', $output);

http://php.net/manual/en/function.exec.php

于 2012-08-05T09:49:55.257 に答える