2012-04-23 8 views
1

イメージリソースを扱うPHPアプリケーションをデバッグしています。私は出力($dst_image as the PHP manual's jargon)を見たいですが、コードは私が単にそれをブラウザに出力できる場所にありません。最良のデバッグ手順は、$dst_imageをファイルに書き込んで、そのファイルをブラウザに読み込むことですか?他のアイデア?PHPデバッグ:イメージリソース情報を表示する方法

ありがとうございました。

+0

なぜブラウザに出力できないのですか?どこでも「エコー」する必要があります。 –

+0

他のコードがすでにブラウザにテキストを出力しているため、ブラウザに出力できません。イメージ処理ビットはバックグラウンドで発生します。アプリケーションが出力バッファリングを使用している場合、私はそれを行うことができるだけでなく、リファクタリングすることもできます。 – dotancohen

答えて

1

Example #1 and #2を参照してください。imagejpegはjpegデータを出力します。

  • あなたがイメージ
  • 時以外の任意のデータを出力していないことを確認してくださいあなたの画像データを画像header('Content-Type: image/jpeg');

  • 出力用

    1. セットヘッダ:

      あなたは、いくつかのティンズを行う必要があります最後にあなたはこのようなものになります:

      <?php 
      
      // Get new dimensions 
      // Resample 
      // etc... 
      
      // set header so browser can render image properly 
      header('Content-Type: image/jpeg'); 
      
      // Output 
      imagejpeg($image, null, xxx); 
      // [or] 
      echo file_get_contents($pathToJpgImage); 
      


      現行のリクエストからデータが出力され、イメージを出力できない状況で自己を見つけた場合<img src="data:image/jpeg;base64,..." />を使用して、base64でエンコードされたイメージデータをHTMLに注入できます。 php documentation on base64_encode for imagesを参照してください。

  • +0

    ありがとうございます。しかし、技術的な理由から(出力は既に送信されています)、以前に出力されたテキストをすべて無効にする方法がない限り、イメージをブラウザに単純に送ることはできません。 – dotancohen

    +0

    私はこの問題に対処していませんが、一般的なケースの標準的な解決策であるため、これを受け入れられた答えとして受け入れています。この解決策がうまくいかない場合は、私が疑ったように画像をファイルに書き込む必要があります。ありがとう、アレックス。 – dotancohen

    +0

    @dotancohen私の謝罪、それはあなたの質問から私にはっきりしていなかった...私の答えの2番目の部分を参照してください、それはトリックを行う必要があります。 – Alex

    関連する問題