イメージリソースを扱うPHPアプリケーションをデバッグしています。私は出力($dst_image
as the PHP manual's jargon)を見たいですが、コードは私が単にそれをブラウザに出力できる場所にありません。最良のデバッグ手順は、$dst_image
をファイルに書き込んで、そのファイルをブラウザに読み込むことですか?他のアイデア?PHPデバッグ:イメージリソース情報を表示する方法
ありがとうございました。
イメージリソースを扱うPHPアプリケーションをデバッグしています。私は出力($dst_image
as the PHP manual's jargon)を見たいですが、コードは私が単にそれをブラウザに出力できる場所にありません。最良のデバッグ手順は、$dst_image
をファイルに書き込んで、そのファイルをブラウザに読み込むことですか?他のアイデア?PHPデバッグ:イメージリソース情報を表示する方法
ありがとうございました。
Example #1 and #2を参照してください。imagejpeg
はjpegデータを出力します。
時以外の任意のデータを出力していないことを確認してくださいあなたの画像データを画像header('Content-Type: image/jpeg');
あなたは、いくつかのティンズを行う必要があります最後にあなたはこのようなものになります:
<?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を参照してください。ありがとうございます。しかし、技術的な理由から(出力は既に送信されています)、以前に出力されたテキストをすべて無効にする方法がない限り、イメージをブラウザに単純に送ることはできません。 – dotancohen
私はこの問題に対処していませんが、一般的なケースの標準的な解決策であるため、これを受け入れられた答えとして受け入れています。この解決策がうまくいかない場合は、私が疑ったように画像をファイルに書き込む必要があります。ありがとう、アレックス。 – dotancohen
@dotancohen私の謝罪、それはあなたの質問から私にはっきりしていなかった...私の答えの2番目の部分を参照してください、それはトリックを行う必要があります。 – Alex
なぜブラウザに出力できないのですか?どこでも「エコー」する必要があります。 –
他のコードがすでにブラウザにテキストを出力しているため、ブラウザに出力できません。イメージ処理ビットはバックグラウンドで発生します。アプリケーションが出力バッファリングを使用している場合、私はそれを行うことができるだけでなく、リファクタリングすることもできます。 – dotancohen