PHP

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

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

Автор: Ульман Л.
Год выпуска: 2013
Страниц: 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 укорачивает кол-во знаков после разделителя точки, т.е. целое число и одна десятая.

Урок закончен
Добавлено: 23 Августа 2013 03:50:05 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...