プロが教えるわが家の防犯対策術!

$image = imageCreateFromJPEG($_FILES["upfile"]["tmp_name"][$i]);
header(content-type: image/jpeg);
imageJPEG($image);
で画像を表示させたいんですが
Wanning : cannot modify header information - headers already sent by~~
と警告が出て文字化けしてしまします
色々調べてみるとこのheader関数の前にはいかなる出力もダメというのがわかったんですが
テンプレートを使用していて、どうしても途中で出力せざるをえないんですが何かいい方法はありませんか?

A 回答 (2件)

画像データを返すスクリプトで



>テンプレートを使用していて

というのが意味不明です。Smartyなどを使っているとしても、その影響を受けない場所にスクリプトを置くのがスジです。それとも(画像を返すスクリプトが)テンプレートエンジンのcontorolerから何か受け取らないといけない仕様なんでしょうか。

この回答への補足

説明不足ですいません。
テンプレートとはhtmlファイルのヘッダナビゲータフッタ部分をテンプレート化しているってことです。ですのでそ部分だけは編集できないようになってます。
なのでスクリプトを書く部分の前にはすでにhtmlタグなどで外観を定める記述がされています。文字出力なども行われています。

新規ファイルにスクリプトだけ記述してこっちを読み込むようにすれば画像の表示はされましたが、見栄えが悪いんです。

補足日時:2012/12/28 09:07
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/12/28 09:41

>どうしても途中で出力せざるをえない



文書の途中に画像を表示させる的なイメージなのでしょうか?
それはありえないですね
もしそうなら仮にheaderをクリアできたとしても画像は表示できません。
そのテンプレを使うかぎりプログラムでの画像処理はあきらめたほうがいいです
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
そうなんですか。他に何かいい方法はないですかね。
一応、考えてる流れはフォームから画像をアップロードして一時保存ファイルを使ってサムネイルを作って表示させて、クリックするとアップロードした画像が確認できるというものです。
つまりここで一度アップロードした画像の確認処理を行いたいです。
サムネイル化まではできたんですがそれから先の方法が思いつきません。

お礼日時:2012/12/28 09:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!