phpでswfファイルの縦横サイズ・publishバージョン取得
perlでswfの縦横サイズ簡単に取れんかなーと思って調べてみたらSWF::Headerという便利なモジュールがあったので入れてみた。
cpanでSWF::Headerを入れると必要な他のモジュールも一緒に入ってくれたので特にめんどくさいことはなし。
cpan > install SWF::Header
使い方も実に簡単。
#!/usr/bin/perluse SWF::Header;
$swf_data = SWF::Header->read_file('./file.swf');
上のような感じでスポポポーンと値がとってこれる。
例えば縦サイズ、横サイズ、バージョンをとってきたい場合は上のコードに下のような感じのを付け加えればおk。
$header_data->{height}
$header_data->{width}
$header_data->{version}
ちなみにFlashLiteのバージョンは1.1とか3.0とかあるけどその数字が上のversionに入ってるわけではなく下記のような対応になってる。
- Flash Lite 1.0/1.1
- Flash 4相当
- Flash Lite 2.0
- Flash 7相当
- Flash Lite 3.0
- Flash 8相当
他に取ってこれる値は以下。
cpan
- signature => 'FWS' or 'CWS'
- version => Shockwave language version
- filelen => Length of entire file in bytes
- xmin => Stage left edge, in twips
- xmax => Stage right edge, in twips from left
- ymin => Stage top edge
- ymax => Stage bottom edge, in twips from top
- rate => Frame rate in fps
- count => total number of frames in movie
- width => calculated width of stage (in pixels)
- height => calculated height of stage (in pixels)
- duration => calculated duration of movie (in seconds)
- background => calculated background color of movie (in html format)