PHP

Определяем размер файла

Для чего это может пригодиться?
Первое, что приходит в голову, это вывод ссылки на монитор для скачивания файла с описанием свойств этого файла.

Автор: Ульман Л.
Год выпуска: 2001
Страниц: 288
Формат: DJVU
Язык: Русский
Издательство: ДМК Пресс
Качество: Компьютерное
Размер файла: 5.24 MB

Последняя строчка, заметели?! Вот чтоб руками это не писать, программа сама будет выводить размер подгружаемого файла. Для этого напишем свою функцию.
В PHP имеется встроенная функция (filesize), которая определяет размер файла в байтах. Мы рассмотрим функцию которая будет высчитывать количество байт и по мере надобности переводить их килобайты, мегабайты или гигабайты.
Листинг № 1 - Функция - определяет размер файла

<?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." байт";    
   } 
   
} 

?>

Принцип прост, функция принимает в качестве аргумента имя файла или путь к нему и последовательно сравнивает размер. Если больше 1024 байт, то выводит значение в килобайтах и т.д.. Функция round укорачивает кол-во знаков после разделителя точки, т.е. целое число и одна десятая.
Урок закончен
Теги:
размер файла
Добавлено: 20 Апреля 2018 10:10:37 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...