Возникла задача - вернуть размер файла, доступного для скачивания. Странно, но штатных средств в PHP я не нашел.
Работаю над очередным WEB-проектом (позже расскажу над каким).
Возникла задача - вернуть размер файла, доступного для скачивания. Странно, но штатных средств в PHP я не нашел. Можно, конечно, поставить какое-нибудь расширение, но тогда могут возникнуть вопросы совместимости между площадками различных хостеров, что нарушает общую концепцию разработки.
Решение очень простое.
В PHP-коде компонента Битрикс можно добавить и использовать следующую функцию:
<? function filesize_get($file) { // проверяем существует ли файл if(!file_exists($file)) return "Файл отсутствует."; //определяем размер файла $filesize = filesize($file); // Если размер переданного в функцию файла больше 1кб if($filesize > 1024) { $filesize = ($filesize/1024); // если размер файла больше одного килобайта // пересчитываем в мегабайтах if($filesize > 1024) { $filesize = ($filesize/1024); // если размер файла больше одного мегабайта // пересчитываем в гигабайтах if($filesize > 1024) { $filesize = ($filesize/1024); $filesize = round($filesize, 1); return $filesize." ГБ"; } else { $filesize = round($filesize, 1); return $filesize." MБ"; } } else { $filesize = round($filesize, 1); return $filesize." Кб"; } } else { $filesize = round($filesize, 1); return $filesize." байт"; } } ?>
Функцияя возвращает размер файла в байтах, килобайтах, мегабайтах и тд.
Думаю доработка до Тб не потребуется, ну или Вы справитесь самостоятельно.
На этом все. Спасибо за внимание!
Если статья оказалась полезной - поделись ссылкой с друзьями - кнопки ниже!