Определяем размер файла
Для чего это может пригодиться?
Первое, что приходит в голову, это вывод ссылки на монитор для скачивания файла с описанием свойств этого файла.
Автор: Ульман Л.
Год выпуска: 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 укорачивает кол-во знаков после разделителя точки, т.е. целое число и одна десятая.
Урок закончен
Комментарии:
Нету комментариев для вывода...