loading

Stanislav Duben

Stanislav Duben ICQ: 66800432 email: duben@seznam.cz Skype: sduben

1. duben 2010

Jak zjistit rozměry Flash animace v php

flashPotřebujete vědět jak zjistit šířku a výšku flash animace, aby se to mohlo nějak implementovat do php scriptu? Většinou jde o použití v administraci flash her apod. Řešení je poměrně jednoduché a je v principu na jeden řádek kódu.


 

Používá se k tomu funkce getimagesize(), která pracuje kromě obrázků i s flashovými soubory.

 list($sirka, $vyska, $typ, $attributy) = getimagesize($nazev_souboru);

Do parametru $nazev_souboru vložíme název souboru poslaný v administraci přes $_FILES, nebo uvedeme celou cestu k souboru na disku.

Návratové hodnoty:

$sirka je width parametr dané flash animace

$vyska je height parametr dane animace

$typ je typ souboru vraceny funkci getimagesize, můžete tak otestovat zda je to opravdu spracovávaný soubor opravdu Flash animace nebo něci jiného. Návratové hodnoty odpovídají takto:

1 => 'GIF',
2 => 'JPG',
3 => 'PNG',
4 => 'SWF',
5 => 'PSD',
6 => 'BMP',
7 => 'TIFF(intel byte order)',
8 => 'TIFF(motorola byte order)',
9 => 'JPC',
10 => 'JP2',
11 => 'JPX',
12 => 'JB2',
13 => 'SWC',
14 => 'IFF',
15 => 'WBMP',
16 => 'XBM'

Zde jen malá poznámka, hodně souborů SWF bude vracet hodnotu 13, tedy SWC. Jde archiv pro FLEX komponenty a kromě SWF obsahuje i XML informace. V prohlížeči se chová jako bežný Flash soubor.

$attributy záleží na použitém typu souboru, pro určení dimenze flash animace není potřeba, parametr zmiňuji jen pro úplnost. U flash souboru vrátí šířku a výšku, kterou už známe z předchozích parametrů.

Otestovat si to snadno můžete na tomto kódu

<?php
list($sirka, $vyska, $typ, $attributy) = getimagesize('/cesta_k_souboru/testovaci.swf');
echo "Sirka: ".$sirka."<br />";
echo "Vyska: ".$vyska."<br />";
echo "Typ: ".$typ."<br />";
echo "Attributy: ".$attributy."<br />";
?>

Výsledkem bude něco takového

Sirka: 600
Vyska: 400
Typ: 13
Attributy: width="600" height="400"