アプリ版:「スタンプのみでお礼する」機能のリリースについて

PHPでGDライブラリを使って、「image.jpg」という画像(800x222のJPEGファイル)を、GETで渡した幅に縮小させたくて、次のように書きました。
-----reimage.php---------------------
<?php
header("Content-Type:image/jpeg");
$old_width=800;
$old_height=222;
$width = htmlspecialchars($_GET['w']);
$height = ($old_height / $old_width) * $width;
$source = imagecreatefromjpeg("image.jpg");
$re_image = imagecreatetruecolor($width,$height);
imagecopyresampled($re_image,$source, 0, 0, 0, 0,$width, $height, $old_width, $old_height);
imagejpeg($re_image);
imagedestroy($re_image);
?>
--------------------------
他のHTMLファイルから
<img src="reimage.php?w=480">
などとすると縮小された画像が表示されるのですが、直接「reimage.php?w=480」を開くと、文字化けした文字列が並んでいるばかりで画像が表示されません。
firefoxでMIMEタイプを見てみると、「text/html」になっています。

>header("Content-Type:image/jpeg");
の部分がうまくいっていないのだと思いましたが、どう直せばいいのか分かりません。

なお、サーバーはxreaの広告免除を使っています。

まだPHPを勉強し始めて日が浅いので、見当違いなことを聞いているかも知れませんが、よろしくおねがいします。

A 回答 (2件)

imagedestroyはしなくても良いのではないでしょうか?


外してたら、すみません。

少し気になるのが、
header("Content-Type:image/jpeg");

header('Content-type: image/jpeg');
の方が、よいかと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
header('Content-type: image/jpeg');に変えて、imagedestroy($re_image);を外して試してみたのですが、やはり画像が表示されませんでした。

このままやっていても埒が明かないので、縮小した画像にランダムに名前を付けて保存し、それを呼び出すというようにしました。
ご迷惑おかけしました。

お礼日時:2008/08/15 02:08

はじめまして、


私もこの間画像のリサイズに困り。
いろいろ探した結果こんなソースがありましたので、
参考に見てみてはいかがですか?

参考URL:http://phpspot.org/blog/archives/2008/02/phpclas …
    • good
    • 0
この回答へのお礼

ありがとうございます。
簡単にリサイズが出来るようで、教えていただいたことはありがたいのですが、それですと、縮小した画像ファイルに保存してからそれを読み込むことになるかと思います。
僕がやりたいことは、PHPのファイルを指定してそれを画像ファイルとしてブラウザに認識させることです。
言葉足らずだったらすみません。

お礼日時:2008/08/12 19:45

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