Možná mnoho z vás ví, že se velikost souborů zjišťuje PHP funkci filesize();, ale když vám tato funkce vyhodí velké číslo v bytech, tak mnoho z vás si již neví rády a proto se na to vykašlou a nebo si vyhledají řešení.
A aby jste nemuseli dlouho hledat, tak jsem pro vás tento jednoduchý script napsal a vypadá takto:
<?php function velikost($soubor) { $size = @filesize("./".$soubor); if($size < 1024) {$size = ($size); $k = " B";} if($size >= 1024) {$size = ($size / 1024); $k = " kB";} if($size >= 1024) {$size = ($size / 1024); $k = " MB";} return round($size, 1).$k; /* 1 = zaokrouhlování na jedno desetinné místo */ } ?>Jelikož většinou zjišťujeme velikost více souboru namísto jen jednoho, tak se tento script nachází ve function, kterou vyvoláte:
<?php echo velikost("obrazek.jpg"); /* obrázek z kořenového adresáře */ /* nebo */ echo velikost("slozka/obrazek.jpg"); ?>Script zjisti velikost souboru v bytech a podle velikosti ho zaokrouhli na B, kB nebo na MB. Ještě musím upozornit, že function se nesmí vkládat do výpisu jako je „for“ či „while“.
Štítky:
PHP,
tutoriál,
zobrazit všechny štítky
! Našli jste v článku gramatické či pravopisné chyby? Je to z důvodu autorovy nemoci zvané dysgrafie. Tudíž všem děkuji za pochopení a každý článek pokud možno nechávám projít korekturou. !
No zajimavy presne ted jsem to využil :-) děkuji.
ijacek007: To jsem rád
Super, díky…….proč dělat něco co už vymyslel někdo jinej
filio: To je fakt, ale i tak si všechno raději udělám sám :)
Super, díky moc, pomohlo mi to k maturitě :))
harleyka: Rád jsem pomohl
Nechcu se ptat ale radši se zeptam neni šoatně že ty poslední dva řádky:
if($size >= 1024) {$size = ($size / 1024); $k = " kB";} if($size >= 1024) {$size = ($size / 1024); $k = " MB";}jsou stejně ? :D nevyde při velokosti nad 1024 že jse to kB i MB ?
John: Je to v pořádku, protože se vykonají oba. Ten první zjisti ještě je $size větší než 1024, tak ho převede na kB. A druhý zjistí jestli jsou ty kB větší než 1024, tak je převede na MB
Todle by mel zvladnout i zacatecnik,protoze se jedna jen tr.zato o podminky :)