• ベストアンサー

リンク先の画像サイズの取得

以下のようなリンク先の画像の縦横のピクセルサイズを取得することは可能でしょうか。 http://www.hogehoge.com/images/sample.gif 登録式の検索エンジンで登録バナーサイズの判定をしたいと思っております。 もし出来るということであれば具体的なソースも教えて頂ければ幸いです。 どうぞ宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • shiren2
  • ベストアンサー率47% (139/295)
回答No.1

簡単なのは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);

das_horn
質問者

お礼

ご回答ありがとうございます。 お教え頂いた方法ですと、なぜか画面が真っ白になってしまいました。 せっかく教えて頂いたのに申し訳ございません。

das_horn
質問者

補足

画面が真っ白になるのはサーバーに 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("バナーが規定のサイズを超えています。");} } この度は、ご回答を頂き誠にありがとうございました。

その他の回答 (2)

回答No.3

かぶった

das_horn
質問者

お礼

ご回答ありがとうございます。 以下のようにしてみましたが、上手く出来ませんでした。 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("バナーが規定のサイズを超えています。");} サイズを超えている画像でも素通りしてしまいます。

回答No.2

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";

関連するQ&A