Utilitaires
Jeux
Paroles
Textes
Forum
Livre d'or
Index des forums 

Index des forums


Dossier 

Base de connaissances


Dossier Groupe "Internet / PHP"
Se connecter
Répondre
Trouver un message :
Rechercher
Jamais inscrit sur ce forum
Identifiant (pseudo) :
Mot de passe :
Courriel :
Ville/pays (facultatif) :
Attention, si vous utilisez Hotmail/Live, vous risquez de ne pas pouvoir vous inscrire car ce fournisseur bloque exagérément les messages.
M'inscrire
Déjà inscrit sur ce forum
Identifiant :
Mot de passe :
Me connecter
Déjà inscrit mais sans mot de passe
Vous avez perdu votre mot de passe ?
Vous pouvez en recevoir un autre en indiquant ci-dessous l'adresse du courriel utilisé lors de l'inscription.
Mon courriel :
Envoyer courriel

Récupérer la résolution d'un fichier Flash (SWF ou FLV)


Pouvoir récupérer les dimensions d'un fichier Flash directement en PHP est intéressant dans la mesure où ça permet de prévoir la taille d'un lecteur vidéo.

Voici comment le faire, selon que le Flash soit du SWF (objet vectoriel) ou du FLV (vidéo) :

Cas du SWF :

La fonction getimagesize permet de renvoyer hauteur et largeur :
print_r(getimagesize($fichier_swf))


Cas du FLV :

Je n'ai pas écrit cette fonction mais j'ai pu la rencontrer à force de chercher (je remercie au passage son auteur). Je l'ai trouvé au hasard d'un forum : stackoverflow.com/questions/3...

print_r(flvdim($fichier_flv))

function flvdim($name)
    {
    $file = @fopen($name, 'rb');
    if($file === false)
        return false;

    $header = fread($file, 2048);
    fclose($file);
    if($header === false)
        return false;

    return array(
        'width' => flvdim_get($header, 'width'),
        'height' => flvdim_get($header, 'height')
    )
}

function flvdim_get($header, $field)
    {
    $pos = strpos($header, $field);
    if($pos === false)
        return false;

    $pos += strlen($field) + 2;
    return flvdim_decode(ord($header[$pos]), ord($header[$pos + 1]));
    }

function flvdim_decode($byte1, $byte2)
    {
    $high1 = $byte1 >> 4;
    $high2 = $byte2 >> 4;
    $low1 = $byte1 & 0x0f;
    $mantissa = ($low1 << 4) | $high2;
    return ((256 + $mantissa) << $high1) >> 7;
    }



Cas général :

Voici le code permettant de renvoyer automatiquement les dimensions d'un SWF ou d'un FLV :
function Flash_Dimensions($fichier)
    {
    $largeur=null; $hauteur=null;
    $infosFichier=pathinfo($fichier);
    switch (strtolower($infosFichier['extension']))
        {
        case "swf":
            $infosTaille=getimagesize($fichier);
            $largeur=$infosTaille[0];
            $hauteur=$infosTaille[1];
            break;
          
        case "flv";
            $infosTaille=flvdim($fichier);
            $largeur=$infosTaille["width"];
            $hauteur=$infosTaille["height"];
            break;          
        }
      
    return Array("largeur"=>$largeur, "hauteur"=>$hauteur);
    }

el_juky [Administrateur] le 23/10/2009

Citer
© Eric Quillévéré (janvier 2000 - février 2012) Inspiré d'un design de Zwatla + Lagouache
Valid CSS! Valid HTML 4.01 Transitional