- ベストアンサー
リンク先の画像サイズの取得
以下のようなリンク先の画像の縦横のピクセルサイズを取得することは可能でしょうか。 http://www.hogehoge.com/images/sample.gif 登録式の検索エンジンで登録バナーサイズの判定をしたいと思っております。 もし出来るということであれば具体的なソースも教えて頂ければ幸いです。 どうぞ宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
簡単なのはGDモジュールですかね。 #!/usr/bin/perl use strict; use LWP::Simple; use GD; my $buff = &get("http://okwave.jp/images/logo/logo.jpg"); die "取得に失敗" unless $buff; my $img = GD::Image->new($buff); printf("use GD::Image; width => %s; height %s\n", $img->width, $img->height);
その他の回答 (2)
- _--_1l1_1_
- ベストアンサー率67% (102/152)
かぶった
お礼
ご回答ありがとうございます。 以下のようにしてみましたが、上手く出来ませんでした。 use LWP; use HTTP::Request; use GD; my $url = '$sitebanner'; my $ua = LWP::UserAgent->new; $ua->agent('Mozilla/5.0'); my $req = HTTP::Request->new( GET => $url ) or die "$!:$url"; my $res = $ua->request($req) or die "$!$url"; my $image = GD::Image->new( $res->content ) or die "$!:$url"; if (($image->width > 120) or ($image->height > 60)){&error("バナーが規定のサイズを超えています。");} サイズを超えている画像でも素通りしてしまいます。
- _--_1l1_1_
- ベストアンサー率67% (102/152)
use LWP; use HTTP::Request; use GD; my $url = 'http://cmm001.goo.ne.jp/img/logo/goo.gif'; my $ua = LWP::UserAgent->new; $ua->agent('Mozilla/5.0'); my $req = HTTP::Request->new( GET => $url ) or die "$!:$url"; my $res = $ua->request($req) or die "$!$url"; my $image = GD::Image->new( $res->content ) or die "$!:$url"; print 'Width : ', $image->width, "\n"; print 'Hegith : ', $image->height, "\n";
お礼
ご回答ありがとうございます。 お教え頂いた方法ですと、なぜか画面が真っ白になってしまいました。 せっかく教えて頂いたのに申し訳ございません。
補足
画面が真っ白になるのはサーバーに LWP::Simple がインストールされていないことが原因でした。 契約サーバーにお願いして LWP::Simple 及び Image::Size をインストールしてもらい、 以下のようにして上手く出来るようになりました。 use Image::Size; use LWP::Simple; $size = get $sitebanner; ($size_x, $size_y) = imgsize(\$size); if (($size_x > 120) || ($size_y > 60)){&error("バナーが規定のサイズを超えています。");} } この度は、ご回答を頂き誠にありがとうございました。