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"

 

Komentáře   

Guest
-1 #1 Guest 2010-04-18 17:48
Také jsme toto řešil přes funkci getimagesize, ještě by mě ale zajímalo jestli je možné nějakým způsobem pomocí php zjistit rozměry například u souborů typu x-director s příponou .dir .dcr.
Stanislav Duben
+1 #2 Stanislav Duben 2010-04-18 20:11
Sám jsem to zkoušel hledat, ale zatím jsem nenašel způsob jak velikost .dir nebo .dcr zjistit. Takže pokud někdo bude vědět a napíše to do komentářů budu jen rád.
Guest
+1 #3 Guest 2010-05-25 09:02
Zjištění rozlišení u Flashe jsem dlouho hledal, ale netušil jsem, že je to také takto jednoduché. Už jsem to skoro dělal ručně.. Děkuji za článek. :lol:

Přidat komentář


Bezpečnostní kód
Obnovit