1+ <?php
2+ //ddGetFileSize.php v1.0
3+ //Выводит размер файла
4+ //file - имя файла
5+ //tpl - шаблон для вывода.
6+ //type - тип вывода размера файла. Доступные значения: -1, 0, 1, 2. По умолчанию - 0.
7+ //prec - количество цифр после запятой. По умолчанию - 2.
8+
9+ //Сниппет разработан студией Диван.Дизайн (www.divandesign.ru)
10+
11+ if (isset ($ file ) && $ file != "" && file_exists ($ file )){
12+ $ type = isset ($ type ) ? intval ($ type ) : 0 ;
13+ $ prec = isset ($ prec ) ? intval ($ prec ) : 2 ;
14+
15+ if (!function_exists ('ddfsize_format ' )){
16+ function ddfsize_format ($ size , $ type , $ prec ){
17+ //устанавливаем конфигурацию вывода приставок, надеюсь разберетесь
18+ if ($ type == -1 ){
19+ $ mas = array ('' , '' , '' , '' , '' , '' , '' );
20+ }else if ($ type == 0 ){
21+ $ mas = array (' б ' , ' Кб ' , ' Мб ' , ' Гб ' , ' Тб ' , ' Пб ' , ' Эб ' );
22+ }else if ($ type == 1 ){
23+ $ mas = array (' байт ' , ' Килобайт ' , ' Мегабайт ' , ' Гигабайт ' , ' Терабайт ' , ' Петабайт ' , ' Эксабайт ' );
24+ }else if ($ type == 2 ){
25+ $ mas = array (' B ' , ' KB ' , ' MB ' , ' GB ' , ' TB ' , ' PB ' , ' EB ' );
26+ }
27+
28+ $ i = 0 ;
29+ while (($ size /1024 )>=1 ) {
30+ $ size = $ size /1024 ;
31+ $ i ++;
32+ }
33+
34+ return round ($ size ,$ prec ).$ mas [$ i ];
35+ }
36+ }
37+
38+ $ result = ddfsize_format (filesize ($ file ), $ type , $ prec );
39+
40+ if (isset ($ tpl )){
41+ $ result = $ modx ->parseChunk ($ tpl ,array ('filesize ' => $ result ),'[+ ' ,'+] ' );
42+ }
43+
44+ return $ result ;
45+ }
46+ ?>
0 commit comments