Eric Quillévéré
An@lyste-progr@mmeur
Index des forums
Base de connaissances
Groupe "Internet / PHP"
Se connecter
Répondre
Trouver un message :
Rechercher
Vous n'êtes pas encore inscrit
Vous êtes déjà inscrit
Identifiants/mot de passe perdus
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
Attention : le Javascript n'est pas activé !
© Eric Quillévéré
(janvier 2000 - février 2012)
Inspiré d'un design de
Zwatla
+
Lagouache