[PHP] Trouver la taille d’un swf (flash)

10 08 2011

Comment 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 ;)


Partager :

Ces icônes sont des liens vers des sites de partage de signet sociaux où les lecteurs peuvent partager et découvrir de nouveaux liens.
  • Digg
  • del.icio.us
  • Facebook
  • Digg -fr
  • Live
  • MisterWong Fr
  • Scoopeo
  • StumbleUpon
  • Technorati
  • Wikio FR

Actions

Informations

Et maintenant je fais quoi ?

Aucun commentaire

Une réponse à “[PHP] Trouver la taille d’un swf (flash)”

19 12 2012
steph (22:56:44) :

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

Laisser un commentaire

Vous pouvez utiliser ces balises html : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>