PHP GD 画像が縮小できない
宜しくお願いします。
※ローカル環境です。
(WinXP PHP5 Smarty PEAR MySQL ※GDはインストされています。)
下記のコードで、サーバーにもともと上げてある画像(jpeg)を縮小して、
それをブラウザに表示させようと思います。
ですが、縮小されずに、元の画像サイズのまま表示されてしまいます。
おかしな点をご指摘下さいませ。
また、(1)で、
jpegファイルを取り込むコードがありますが、これは、
もし画像がGIFであったりPNGの場合を顧慮するなら、
取り込む際にそれぞれを判定するのが基本でしょうか?
もし、今回のようにサバー元の画像をリサイズするのであれば、拡張子もわかっていますので、
jpegファイルだけのことを考えればいいですが、
たとえば、任意のアップロードされたファイルを扱う場合は、上記3種類を判定すして処理すべきですよね?
以上、2点を回答下さいませ。
// -- (1)
// 画像を読み込む。
$file_path = "http://www元画像.com/img/aa.jpg";
$image = ImageCreateFromJPEG($file_path); //JPEGファイルを読み込む
/***********
$image = ImageCreateFromGIF($file_path); //GIFファイルを読み込む
$image = ImageCreateFromPNG($file_path); //PNGファイルを読み込む
************/
// -- (2)
// 画像のサイズを取得。
$width = ImageSX($image); //横幅(ピクセル)
$height = ImageSY($image); //縦幅(ピクセル)
// -- (3)
// 縮小した画像のサイズを決める。
$new_width = 100;
$rate = $new_width/$width; //圧縮比
$new_height = $rate*$height;
// -- (4)
// 空の画像を作成する。
$new_image = ImageCreateTrueColor($new_width, $new_height);
// -- (5)
// サンプリングしなおす
ImageCopyResampled($new_image,$image,0,0,0,0,$new_width,$new_height,$width,$height);
// -- (6)
// ブラウザに出力する場合。
ImageJPEG($image);
//ImageJPEG($image,'simpletext.jpg');
//ImageGIF($image); //環境によっては使えない
//ImagePNG($image);
// -- (7)
// メモリを解放する。
imagedestroy ($new_image);
imagedestroy ($image);
補足
私の質問表現の仕方が悪くて御迷惑をおかけしております。 説明が下手なので、下記に記しましたその問題の私のページを見て頂くのが一番早 いかと思われたので、下記に記して質問をし直します。 いわゆるhttpと://とwwwの後に.geocities.co.jp/AnimalPark-Pochi/6595/wanko_rei.htmlというのが、そのアドレスです、(どうしてこのようなアドレスの記入方法をしたかと言 いますと、教えてgooのサポートからキチンとしたアドレスを入れたら削除されてし まい、記入方法を変えるしかなかった為です) このページは全体が送信フォームだけで構成されていますが、ページの下の方にあ ります「画像」の欄を御覧下さい。 ホームページ閲覧者からお手持ちの犬の画像を送ってもらう為に、一番はじめの質 問に書いてましたようなタグにより「ファイル参照」フォームタグをつけてみたので すが投稿者がすべての項目を記入し、「送信する」ボタンを押すと、私の元に「名 前」や「住所」などの情報はすべてキチンとメーラーに送られてきましてテキストと して受け取ることが出来るのですが、「ファイル参照」の項目だけは、 「20020424.jpeg」などとファイル名テキストだけが送信されてくるだけで、肝心の そのjpegファイルが送られてこなくて、自分ではつたない知識ながら、これで送られ てくるものだと思っていただけに、困っている次第で「教えてgoo」に投稿させて頂 きました。 そして、根本的にこのようなやり方では送信ファイルを私が受け取ることが出来な いのかどうかも私はわかっておりませんので、出来ないなら出来ないで違う対処(た だ単に私のメールアドレスに画像ファイルをメールの添付書類として送ってもらう) を考えております。