[PHP] Trouver la taille d’un swf (flash)
10 08 2011Comment trouver la taille d’une animation flash (fichier .swf) ?
Voici une fonction PHP bien pratique qui permet d’extraire les dimensions d’un .swf :
/*
* Récupération de la taille d'un flash : utilisation de getimagesize pour flash 5-
* Décompression LZW puis extraction de la taille pour un flash 6+
**/
function getFlashSize($filename){
$image_info = @getimagesize($filename);
if(!$image_info){
$zd = gzopen($filename,'r');
$contents = gzread($zd, filesize($filename));
gzclose($zd);
$image_string = swfDecompress($contents);
$tempHandle = fopen('_temp.swf','w');
fwrite($tempHandle, $image_string);
fclose($tempHandle);
$image_info = getimagesize('_temp.swf');
unlink('_temp.swf');
}
return $image_info;
}
/*
* Décompression d'un flash version 6+
**/
function swfDecompress($buffer){
if( function_exists('gzuncompress') && substr($buffer, 0, 3) == "CWS" && ord(substr($buffer, 3, 1)) >= 6 ){
$output = 'F';
$output .= substr ($buffer, 1, 7);
$output .= gzuncompress(substr($buffer, 8));
return $output;
} else {
return $buffer;
}
}
Elle vous retournera un tableau de ce style :
Array
(
[0] => 468
[1] => 60
[2] => 4
[3] => width="468" height="60"
[mime] => application/x-shockwave-flash
)
L’index 0 correspond à la largeur, et l’index 1 donne la hauteur.
Enjoy ![]()














Super Génial.
Ca a marché du premier coup.
[...] [...]