ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルで Flash ファイルの高さ、幅、フレーム番号、背景色を読み取る方法

PHP_PHP チュートリアルで Flash ファイルの高さ、幅、フレーム番号、背景色を読み取る方法

WBOY
WBOYオリジナル
2016-07-13 09:55:35896ブラウズ

phpでFlashファイルの縦横のフレーム番号の背景色を読み取る方法

この記事では、phpでFlashファイルの縦横のフレーム番号の背景色を読み取る方法について説明します。参考のためにみんなで共有してください。

具体的な実装方法は以下の通りです。

コードは次のとおりです:

/*

例:

$file = '/data/ad_files/5/5.swf';

$flash = 新しいフラッシュ();

$flash = $flash->getswfinfo($file);

エコー「

ファイルの幅と高さは次のとおりです: ".$flash["width"].":".$info["height"];

エコー「

ファイルのバージョンは「.$flash["version"];

エコー「

ファイルのフレーム数は「.$flash["framecount"];

エコー「

ファイルのフレームレートは「.$flash["framerate"];

エコー「

ファイルの背景色は ".$flash["bgcolor"];

*/

クラスフラッシュ

{

// 背景色を返すかどうか

public $need_back_color = false ;

//バージョンを返すかどうか

public $need_version = false ;

//フレームレートを返すかどうか

public $need_framerate = false ;

//フレーム数を返すかどうか

public $need_framecount = false ;

パブリック関数__construct()

{

}

パブリック関数 getswfinfo( $filename )

{

if ( file_exists($filename) ) {

//echo "ファイル変更時刻:".date("m d y h:i:s.", filemtime($filename))."

「;

} 他 {

//echo "対象のファイルが存在しません!";

return array( "error" => $filename ) ;

}

//ファイルを開く

$rs = fopen($filename,"r");

//ファイルデータを読み込みます

$str = fread( $rs , filesize( $filename ) ) ;

///

if($str[0] == "f")

{

//エコー「

ファイルはすでに解凍されています: ";

} 他 {

$first = substr($str,0,8);

$last = substr($str,8);

//

$last = gzuncompress($last);

//

$str = $first ;

$str[0] = "f";

//エコー「

解凍されたファイル情報: ";

}

$info = $this->getinfo( $str );

fclose ( $rs ) ;

$info を返す;

}

プライベート関数mydecbin($str,$index)

{

$fbin = decbin(ord($str[$index]));

while(strlen($fbin) $fbin を返す;

}

プライベート関数colorhex($data)

{

$tmp = dechex($data);

if (strlen($tmp) $tmp='0' . $tmp ;

}

$tmpを返す;

}

プライベート関数 getinfo( $str )

{

//バイナリに変換

$fbin = $this->mydecbin( $str , 8 ) ;

//recの単位長を計算する

$slen = binding(substr( $fbin , 0 , 5 ) );

//rec が配置されているバイトを計算します

$recsize = $slen * 4 + 5 ;

$recsize = ceil( $recsize / 8 ) ;

//バイナリを記録する

$recbin = $fbin;

for( $i = 9 ; $i {

$recbin .= $this->mydecbin( $str ,$i );

}

//記録データ

$rec = array();

for( $i = 0 ; $i {

$rec[] = binding(substr( $recbin , 5 + $i * $slen , $slen ) ) / 20;

}

if ( $this->need_back_color ) {

//背景色

for( $i = $recsize + 12; $i < strlen ( $str ) ; $i ++ )

{

if ( ord( $str[$i] ) == 67 && ord( $str[$i+1] ) == 2 )

{

$bgcolor = $this->colorhex(ord($str[$i+2])).$this->colorhex(ord($str[$i+3])).$this->colorhex (ord($str[$i+4]));

休憩;

}

}

}

if ( $this->need_version ) {

//バージョン

$version = ord( $str[3] );

}

if ( $this->need_framerate ) {

// フレームレート

$framerate = ord( $str[$recsize + 8] ) / 256 + ord( $str[$recsize + 9] ) ;

}

if ( $this->need_framecount ) {

//フレーム番号

$framecount = ord( $str[$recsize + 11] ) * 256 + ord( $str[$recsize + 10] );

}

配列を返す ( "bgcolor" => $bgcolor ,

"バージョン" => $version ,

"フレームレート" => $framerate ,

"framecount" => $framecount ,

'width'=>$rec[1],

'身長'=>$rec[3]

);

}

}

?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/991642.html技術記事 PHPでFlashファイルの高さ、幅、フレーム番号の背景色を読み取る方法 この記事では、PHPでFlashファイルの高さ、幅、フレーム番号の背景色を読み取る方法について説明します。参考のためにみんなで共有してください。 具体的な実装方法…
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。