Как определить объем файла. Накопители на магнитных дисках


Наверное, Вы часто видите на сайтах подпись с указанием размера файла. Данный показатель сам никто не подписывает. Этот вопрос решается написанием функции на php. В результате она будет выводить строчку вида:

Размер файла: 2.3 Мб
Очень удобно в случае скачивания каких-либо материалов с сайта. Итак, приступим.

Создаём функцию PHP, определяющую размер файла

Функция будет довольно проста и понятна. Использует в себе три встроенные функции:

file_exists - проверка на наличие указанного файла или каталога.

filesize - определить размер файла. Возвращает результат в байтах. Если файл больше 2 Гб, то, в зависимости от сервера, может выводить некорректный результат.

round - встроенная функция, укорачивающая выводимое значения до целого числа и одной десятой после разделительного знака точки.
Функция проверяет наличие самого файла, затем последовательно пытается определить насколько велик размер файла - если больше 1024 байт, то результат следует выводить в Мб, если больше 1024 Мб, то следует выводить в Гб. А в конце каждого этапа встроенная функция round округляет результат с множества цифр до целого значения и одной десятой с разделительным знаком.

Теперь создаём файл функции. Подобные файлы принято содержать в отдельной папке. Например function .

Код PHP (файл function.php )

// аргументов функции будет путь к файлу
function get_filesize($file)
{
// идем файл
if(!file_exists($file)) return "Файл не найден";
// теперь определяем размер файла в несколько шагов
$filesize = filesize($file);
// Если размер больше 1 Кб
if($filesize > 1024)
{

// Если размер файла больше Килобайта
// то лучше отобразить его в Мегабайтах. Пересчитываем в Мб
if($filesize > 1024)
{
$filesize = ($filesize/1024);
// А уж если файл больше 1 Мегабайта, то проверяем
// Не больше ли он 1 Гигабайта
if($filesize > 1024)
{
$filesize = ($filesize/1024);

return $filesize." ГБ";
}
else
{
$filesize = round($filesize, 1);
return $filesize." MБ";
}
}
else
{
$filesize = round($filesize, 1);
return $filesize." Кб";
}
}
else
{
$filesize = round($filesize, 1);
return $filesize." байт";
}
}
?>
Функцию мы создали. Далее остаётся её применить.

Код PHP

include_once "function/function.php"; // подключаем файл с функцией

// вставляете путь или переменную с путём для обработки его функцией
$size = get_filesize ("images/photo.jpg");
echo "Размер файла: ".$size.""; // выводим результат с размером
?>
Всё готово! Пользуйтесь на здоровье!
Спасибо за внимание! И удачи в работе!

Современные приложения не только занимают все больше места на носителе, но и требуют для своей корректной работы вполне ощутимый объем свободного пространства на жестком диске. Например, популярная операционная система Windows 7, занимая целый компакт диск формата DVD-5 (это 4,7 Гб), не сможет нормально работать, если ей после установки не будет доступно 16 Гб на накопителе, а 64-битная версия нуждается уже в 20 Гб. Это означает, что владелец компьютерной системы должен как-то решать вопрос с дисковым пространством. Чаще всего приобретается еще один жесткий диск или устройство на основе технологии SSD, и проблема временно снимается. Однако, придя домой с недавно купленным устройством, пользователь может столкнуться с необходимостью выбирать файловую систему: FAT32 или NTFS. Несмотря на то что времена, когда производители поставляли на рынок накопители без предварительного форматирования, остались в прошлом, угадать, какие именно требования выдвигает пользователь к «разбивке» устройства, невозможно. В частности, многие новички с удивлением обнаруживают, что существует понятие «максимальный размер файла FAT32». О том, что это такое, мы и поговорим.

Файловая система

Для того чтобы те самые заветные гигабайты жесткого диска или флешки стали «видны» в операционной системе, на накопителе должна быть создана файловая система.

Смысл данной операции состоит в том, чтобы создать на поверхности диска особую магнитную разметку и специальный участок, где будет храниться сервисная информация. После этого становится возможной работа с файлами на данном накопителе. Файловая система хранит информацию о размещении файлов на диске и управляет их записью/чтением. Наиболее известны NTFS и FAT32. Вторая была представлена компанией Майкрософт еще в 1996 году, поэтому неудивительно, что существует ограничение размера файла FAT32. NTFS более совершенна, однако также обладает рядом особенностей.

Когда важен максимальный размер файла FAT32

Представим простую ситуацию: пользователь приобрел новую флешку с объемом более 8 Гб и начал на нее копировать файлы. Если их размер (не суммарный!) не превышает 4 Гб, то он может так никогда и не узнать о том, что есть какой-то максимальный размер файла FAT32. Однако если необходимо скопировать на накопитель с такой файловой системой файл размером 4 Гб, то операционная система выдает сообщение о невозможности завершения операции. Смена названия, перемещение в директорию, изменение атрибутов - все бесполезно. Причина этого проста: максимальный размер файла FAT32 как раз и составляет те самые 4 Гб. Другими словами, объемный ISO-образ любимой игрушки обычным способом записать на накопитель с FAT32 не получится. Ограничение вызвано особенностью адресации цепочек кластеров и просто так обойти его не удастся.

Как записать большой файл FAT32: варианты решений

Тем не менее решение есть. Причем несколько. Проще всего переформатировать накопитель в другую файловую систему, умеющую работать с файлами более 4 Гб. Это может быть решение либо из мира Линукс: системы типа EXT, или же NTFS и exFAT от Майкрософт. Последняя работает не во всех операционках. В Windows необходимо открыть «Мой компьютер», вызвать свойства желаемого накопителя и запустить «Форматирование». Данная операция сотрет с него все данные, поэтому сначала следует сохранить важные файлы. Допустима конвертация файловых систем одна в другую без удаления данных. Это можно сделать с помощью утилиты convert.exe, входящей в состав операционной системы, или сторонней программой Partition Magic. Однако если необходимо записать большой файл, а времени на смену файловой системы нет, то нужно воспользоваться любым архиватором (RAR, ZIP), выбрав архивацию файла без сжатия, но с разбивкой на меньшие файлы. Например, в WinRAR порядок действия следующий: запуск программы, указание в ней файла, команда «Добавить», где следует активировать пункт «Разделить на тома». Очевидно, что размер не должен быть больше 4 095 Мб. Затем такой разбитый файл, состоящий из нескольких, можно будет записать на накопитель, а у адресата распаковать.

Если говорить об информации в целом, то измеряется она в БАЙТАХ. Измерение в этих единицах началось с далёкого 1956 года. Тогда этой величины вполне хватало. Чтоб было понятней, о какой величине идёт речь, скажу Вам, что 1 байт = 1 символ. С развитием технологий увеличивался и объем информации, и измерять большой объем информации в БАЙТАХ стало не удобно. Тогда появились приставки КИЛО-БАЙТ (КБ), МЕГА-БАЙТ (МБ), ГИГА-БАЙТ (ГБ), ТЕРА-БАЙТ (ТБ) и т.д.

Для понимания, на сколько большие или маленькие эти величины, приведу такое сравнение:
— 1КБ (один килобайт) = 1024 байта, и это объем информации приблизительно в один печатный лист А4-го формата;

— 1МБ (один мегабайт) = 1024 килобайта, и это объем информации уже приличного томика страниц на 600-700!

— 1ГБ (один гигабайт) = 1024 мегабайт, и это уже целая библиотека из 1024 книг по 600 страниц!

— 1ТБ (один терабайт) = 1024 гигабайта, этот объем информации сравним со средней Европейской библиотекой, где содержится около 8 миллионов книг. Для примера, в Российской государственной библиотеке находится около 43 миллионов единиц.

Теперь сравним объем и вид информации относительно носителей, на которые эту информацию можно записать.

— Дискета емкостью 1,44МБ. Когда-то дискета была основным доступным носителем цифровой информации, т.к. записать на неё можно было действительно много чего. Теперь же дискеты используют в основном бухгалтера для хранения электронных ключей и подписей. Причина банальна – на дискете мало места для хранения современной информации. На дискету можно записать одну, две фотографии, сделанных на мобильном телефоне с 3х мегапиксельной камерой; пять, десять Word, Excel документов.

— Флешка емкостью 1ГБ. Самый удобный на сегодняшний момент носитель информации. Емкость флешки 1ГБ я взял для кратности счёта, а вообще на момент написания статьи есть и 64ГБ флешки!
Что же можно записать на флешку емкостью 1ГБ: один фильм, относительно неплохого качества; около 200 музыкальных файлов в формате.mp3; около 200 фотографий хорошего качества; множество документов и программ небольшого размера.

— CD диск емкостью 700МБ. На CD диск можно записать: один фильм в формате.avi, в относительно хорошем качестве; около 150 музыкальных файлов в формате.mp3; около 150 фотографий хорошего качества; множество документов и программ небольшого размера.

DVD диск емкостью 4,7ГБ. На DVD диск можно записать: один фильм в формате DVD или HDTV; 4-5 фильмов в формате.avi хорошего качества; около 1200 музыкальных файлов в формате.mp3; около 1000 фотографий хорошего качества; оооочень много документов и программ.

— Винчестер емкостью 120ГБ. Тут, чтобы не расписывать до документов, сравню с количеством фильмов, которые можно записать на такой винчестер. Так вот, на винчестер емкостью 120 ГБ можно записать 25 фильмов в DVD или HDTV качестве!

Теперь давайте по очереди разбираться, как определить размер диска, файла или папки.
В Windows определить размер файла, папки или диска можно в ПРОВОДНИКЕ. Запустить «Проводник» можно кликнув ДВА раза ЛЕВОЙ кнопкой мыши по ярлыку «Мой компьютер» на рабочем столе или с помощью комбинации клавиш «Win+E».

Если Вы, например, хотите узнать, сколько свободного места осталось на диске, в частности на флешке, то кликаете ПРАВОЙ кнопкой мыши по изображению съемного диска, обычно он подписан как «Съемный диск (F:)» или «Название флешки (F:)», как на рисунке:

Так вот, кликаете ПРАВОЙ кнопкой мыши по изображению съемного диска – флешки и выбираете в открывшемся меню пункт «Свойства», в самом низу. После этого открывается окно:


Тут видно сколько занято (выделено синим), сколько свободно (выделено розовым) и сколько всего места на диске.

Таким образом, можно узнать остаток свободного места не только на флешке, но и на любом съемном или логическом диске винчестера.

Схема определения размера файла или папки такая же, как и с диском. Т.е. находите на диске нужный файл или папку, кликаете на нем (-ней) ПРАВОЙ кнопкой мыши и смотрите «Свойства».


Там будет вся необходимая информация.


Если Вы хотите узнать размер группы файлов или папок, то их надо выделить и проделать те же операции, т.е. кликнуть ПРАВОЙ кнопкой мыши по одному из выделенных файлов или папок, выбрать «Свойства» и посмотреть размер.

Да, вторая часть урока не совсем попадает в рубрику «Компьютерные азы», но тем не менее. Если у вас возникнут вопросы, Вы всегда сможете их задать в комментариях.

В НМД предусмотрена аналогичная НМЛ возможность последовательного доступа к информации. Накопитель на магнитных дисках сочетает в себе несколько устройств последовательного доступа, причем сокращение времени поиска данных обеспечивается за счет независимости доступа к записи от ее расположения относительно других записей.

Конструкция НМД сложнее, чем у НМЛ, а следовательно, выше их стоимость. В НМД в качестве носителей данных используется пакет магнитных дисков (или плоттеров), закрепленных на одном стержне, вокруг которого они вращаются с постоянной скоростью. Поверхность магнитного диска, покрытая ферромагнитным слоем, называется рабочей.

Первые подобные устройства были оборудованы сменными пакетами МД. Вставленные в кожух с герметически закрывающимся поддоном, они образовывали компактные единицы хранения, именуемые томами. Наиболее распространенными емкостями томов были 7.25, 29.100 Мбайт. Оператор ставил пакет на шпиндель устройства, снимал кожух (при этом пакет автоматически фиксировался на шпинделе) и включал двигатели раскрутки пакета. После достижения определенной скорости вращения осуществляется ввод в пространство между дисками пакета блока магнитных головок («гребенки»).

Принцип размещения головок - плавающий, поскольку они удерживаются на необходимом расстоянии от поверхности диска расходящимися потоками воздуха, возникающими при вращении пакета. В дальнейшем в основном применялись или полноконтактные головки (гибкие диски), или механически фиксируемые в вакууме на определенном расстоянии от поверхности («винчестер»). Попытки использовать жидкие среды (различные масла) для обеспечения необходимого размещения головок успеха не имели.



Количество магнитных головок равно числу рабочих поверхностей на одном пакете дисков. Если пакет состоит из 11 дисков, то механизм доступа состоит из 10 держателей с двумя магнитными головками на каждом из них. Совокупность дорожек, к которым имеется доступ при фиксированном положении блока, называется цилиндром. Держатели магнитных головок объединены в единый блок таким образом, чтобы обеспечить их синхронное перемещение вдоль всех цилиндров. Фиксируя блок механизма доступа на каком-либо из цилиндров, можно сделать переход с одной дорожки на другую данного цилиндра путем электронного переключения головок.

Любая операция чтения (записи) информации с (на) магнитного диска состоит из трех этапов. На первом этапе происходит механический подвод магнитной головки к дорожке, содержащей требуемые данные. На втором этапе обеспечивается ожидание момента, пока требуемая запись не окажется в зоне магнитной головки. На третьем этапе осуществляется собственно процесс обмена информацией между вычислительной машиной и магнитным диском. Таким образом, общее время, затрачиваемое на операцию записи-считывания, состоит из суммы времен поиска соответствующей дорожки, ожидания подвода записи (так называемое время ротационного запаздывания) и обмена с ЭВМ. Максимальное значение времени ротационного запаздывания равно времени, за которое совершается полный оборот магнитного диска.

Существует несколько способов физического сохранения данных на жестком диске. Обычные жесткие диски используют «вертикальное» отображение. Данные записываются сначала на одном цилиндре сверху вниз, затем головки переходят на другой цилиндр и так далее. При «горизонтальном» отображении сначала данные записываются последовательно от цилиндра к цилиндру на поверхности одного диска, затем также на поверхности следующего плоттера и так далее Такой способ лучше подходит для записи непрерывного высокоскоростного потока данных, например при записи «живого» видео.

Механизм герметически запечатан в корпус с частичным вакуумом внутри. Эту конструкцию часто называют главным дисковым агрегатом (HDA). Среда внутри жесткого диска должна быть очищена от пыли, для этого воздух, попадающий в HDA, пропускается через специальные фильтры. Двигатель, вращающий диск с постоянной скоростью, измеряемой в оборотах в минуту (rpm), включается при подаче питания на диск и остается включенным до снятия питания.

Между пластинами существует расстояние для читающей/записывающей головки, установленной на конце двигающегося рычага. Головка удалена от пластины на долю миллиметра. В первых системах эта дистанция составляла 0.2 миллиметра, на сегодняшний день она сокращена до 0.07 миллиметров. Поэтому малейшее загрязнение может разрушить головку, сблизив ее с диском, а также повредить магнитное покрытие диска.

Головки рассчитаны таким образом, чтобы касаться диска только после его остановки, когда питание отключено. При снижении оборотов вращения воздушный поток ослабевает и, когда прекращается полностью, головка осторожно касается поверхности диска. Точку касания называют зоной посадки LZ (land zone), которая специально предназначена для касания головки и не содержит данных.

Когда диск форматируют на физическом уровне, он разделяется на секторы и дорожки. Физически дорожки расположены друг над другом и образуют цилиндры, которые затем делятся по секторам. В одном секторе 512 байтов. Сектор - минимальная единица измерения размера диска. Все жесткие диски имеют резервные сектора, которые используются его схемой управления, если на диске обнаружены дефектные секторы.

Теоретически внешние цилиндры могут содержать больше данных, так как имеют большую длину окружности. Однако в накопителях, не использующих метод зонной записи, все цилиндры содержат одинаковое количество данных, несмотря на то, что длина окружности внешних цилиндров может быть вдвое больше, чем внутренних. В результате теряется пространство внешних дорожек, так как оно используется крайне неэффективно.

Процесс управления плотностью записи называется прекомпенсацией. Для компенсации различной плотности записи используют метод зонно-секторной записи (Zone Bit Recording), где все пространство диска делится на зоны (восемь и более), в каждую из которых входит обычно от 20 до 30 цилиндров с одинаковым количеством секторов.

В зоне, расположенной на внешнем радиусе (младшая зона), записывается большее количество секторов на дорожку (120-96). К центру диска количество секторов уменьшается и в самой старшей зоне достигает 64-56. При этом емкость жестких дисков можно увеличить приблизительно на 30 %.

С увеличением плотности записи на диск возникают трудности при детектировании пиков аналоговых сигналов, поступающих от магнитных головок. В последнее время для устранения этого недостатка стали применять метод PRLM (Partial Response Maximum Likelihood), в котором используется специальный алгоритм цифровой фильтрации входного сигнала.

Для установки дисковых накопителей в системном блоке предусмотрены специальные монтажные отсеки. Габаритные размеры, соответствующие горизонтальному и вертикальному размерам винчестера, стандартизированы и характеризуются типоразмерами, или форм-фактором (form-factor).

В прошлом контроллер диска не успевал считывать физически смежные секторы, таким образом, диску требовалось совершить полный оборот, прежде чем следующий логический сектор мог считаться. Чтобы уменьшить время ожидания, используется фактор чередования (например, N: 1, когда один сектор считывается, а N пропускаются). В современных НЖМД применяется интегрированный контроллер и собственный буфер данных для повышения быстродействия.

Когда компьютер обращается к данным, операционная система с помощью таблицы файловой системы FAT (File Allocation Table) определяет их положение на диске (в каком секторе, на какой дорожке можно найти запрашиваемые данные).

НЖМД могут содержать от 256 Кбайт до 8 Мбайт кэш-памяти, которая хранит всю информацию о секторах, цилиндрах и предоставляет ее в случае необходимости.

Пластины диска могут выходить из равновесия по причине изменения температуры. Во время воспроизведения мультимедиа это может выразиться в виде внезапных пауз в звуке и потерянных видеокадров. Для предотвращения этого устройство постоянно проводит температурную калибровку.

Каждый файл и каждая папка с файлами занимает на компьютере определенное место. То есть у всех файлов и папок есть объем, другими словами, вес или размер.

Мы привыкли к таким понятиям, как граммы и килограммы, метры и километры. В компьютере тоже есть свои единицы измерения. В них мы будем измерять файлы и папки. Другими словами, мы будем определять сколько «весит» тот или иной файл или папка. Исчисляется этот «вес» в байтах, килобайтах, мегабайтах и гигабайтах.

А сейчас прейдем к практике. Посмотрите на эту схему размеров :

Это очень простая схема. Расшифровывается она так:

1 КБ = 1024 байта; 1 Мб = 1024 Кб; 1 Гб = 1024 Мб

А теперь более подробно:

В одном КБ (килобайте) находятся 1024 байта
В одном МБ (мегабайте) находятся 1024 КБ (килобайта)
В одном ГБ (гигабайте) находятся 1024 МБ (мегабайта)

Для чего же нам нужны размеры?! Например, для того, чтобы определить, сможем ли мы записать файл/папку на диск или флешку.

Для того чтобы мы смогли это определить, нам нужно знать, сколько информации помещается на диск или флешку. Воспользуемся схемой:

Флешка — от 1 ГБ

CD диск — 700 МБ

DVD диск — от 4 ГБ

Стандартный объем DVD диска равен 4,7 Гб. Еще бывают двусторонние DVD диски. Это означает, что запись может быть с двух сторон - и с одной, и со второй. У таких дисков объем 9,4 Гб. Также существуют двухслойные диски, но они менее распространены. У таких дисков объемы следующие: 1-сторонние 2-слойные - 8,5 Гб; 2-сторонние 2-слойные - 17,1 Гб.

Как узнать размер файла или папки

Чтобы узнать размер файла или папки с файлами, наведите на нее курсор (стрелку) и задержите на несколько секунд. Появится небольшое окошко с характеристикой файла или папки. Как видно на картинке, в этой характеристике указан размер:

Если при наведении на файл или папку ничего не появляется, то нажмите правую кнопку мыши на этом файле или папке. Из открывшегося списка выберите пункт «Свойства». Откроется окошко, в котором будет указан размер этого файла или папки.

А теперь потренируемся определять размер:

Задачка:

У нас имеется файл размером 30 Мб. Сможем ли мы записать его на диск? Флешку размером 1 Гб?

Решение:

На CD диск помещается 700 Мб. Наш файл занимает размер 30 Мб. 700 Мб больше, чем 30 Мб. Вывод: файл поместится на CD диск.

На DVD диск помещается 4,7 Гб. Один Гигабайт равняется 1024 Мегабайт. То есть на один DVD диск помещается около 5000 Мб. А уж 5000 Мб намного больше, чем 30 Мб. Вывод: на DVD диск наш файл поместится.

Нам дана флешка размером 1 Гб. В одном Гб содержится 1024 Мб. 1024 больше, чем 30. Вывод: на флешку 1 Гб файл поместится.



Понравилась статья? Поделиться с друзьями: