Компьютеры и современные гаджеты

Прежде всего скажем, что речь здесь пойдет о файловых системах FAT и NTFS, как наиболее распространенных, и ничего не будет сказано о файловых системах, используемых в не-Windows системах, поскольку такие системы лежат вне сферы интересов автора. А теперь – к делу.

Казалось бы, какая неоднозначность может быть, если говорить о размере файла. Сколько в него данных записали, такой и размер (или длина). Сколько в нем есть байтов от начала до конца (и это число записано в файловой системе в качестве размера файла), такой и размер, не так ли? Как говорил Шельменко-денщик, так то оно так, да только трошечки не так.

Проведите эксперимент. Возьмите любой исполняемый файл и выполните его копирование командой
copy что-то.exe что-то-другое.exe

Если вы раньше с этим сталкивались, то уже знаете, что результирующий файл получится намного короче исходного и не будет копией. Причина простая: программа copy, запущенная без параметра /b, копирует файл до тех пор, пока не встретит байт с кодом 27h, этот символ называется «конец файла».

Итак, у нас уже есть два разных признака конца файла – по числу, записанному в файловой системе, и по специальному байту в теле файла. Правда, стоит отметить, что второй признак остался с тех времен, когда файлы были преимущественно текстовыми и сейчас практически не применяется.

В файловых системах, использующих кластеры, а FAT и NTFS относятся именно к таким ФС, есть еще третий размер – размер файла на диске, то есть суммарный размер кластеров, отведенных этому файлу. В файловых системах FAT этот размер больше размера собственно файла или равен ему. Разница между размерами, если она есть, – так называемый хвост файла – это напрасно пропадающее место на диске, плата за размещение файлов по кластерам, а не встык друг за другом, хотя файловые системы с таким размещением файлов тоже существуют.

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

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

Максимальный размер такого файла зависит от размера записи и составляет примерно 600 байтов для записи мелкого размера (1 Кб) и 3600 – для записи крупного размера (4 Кб). Следует, впрочем, отметить, что до недавнего времени Windows показывала размер такого файла на диске равным одному кластеру, хотя фактически ни одного кластера файлу не выделено.

Если файл сжат, то его размер на диске может быть заметно меньше собственно длины файла (количества данных в нем).

Дополнительно усложняют картину так называемые разреженные файлы. В них полезные данные содержаться только в определенных участках файла, а остальная часть файла не используется вовсе. Возьмем в качестве примера файл журнала изменений \$Extend\$UsnJrnl, имеющийся почти на каждом компьютере (не пытайтесь увидеть его в проводнике или других диспетчерах файлов, не получится).


Он может иметь длину несколько гигабайт, но значимых данных содержит при этом обычно только 32 мегабайта в самом конце. А остальная часть вообще никаких данных не содержит, места на диске не занимает, и при попытке прочитать данные из этой части система выдаст набор нулей, даже не обращаясь к диску.
Если у читателя возникнет желание поэкспериментировать с разреженными файлами, такой файл можно создать с помощью команды fsutil sparse. А на досуге можно обдумать, какова же настоящая длина файла, если система записала в соответствующую графу число 4 Гб, а реальных данных в файле только 32 Мб и на диске он занимает тоже 32 Мб.

И, наконец, расскажем еще об одной длине: длине действительных данных (valid data). Эта длина и устанавливающие ее функции представляют интерес почти исключительно для программистов, тем не менее изредка с ней могут столкнуться и обычные пользователи.

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

Попробуем пояснить, о чем идет речь, на примере. Возьмите флешку (флешка используется для наглядности, поскольку она медленнее жесткого диска работает с большими объемами данных) размером от гигабайта, отформатированную в FAT32, и создайте на ней большой файл командой
fsutil file createnew k:\пробный.txt 900000000

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

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

Рассмотрим это на примере. Создайте новый файл на одном из рабочих дисков, отформатированном в NTFS. Сотни мегабайт совершенно не обязательны, десятка-другого килобайт будет вполне достаточно:
fsutil file createnew C:\пробный.txt 10000

Теперь откройте его с помощью любого просмотрщика файлов, например FAR.


Как видим, в файле действительно нули. Но если посмотреть на этот файл с помощью какого-либо редактора дисков, обращающегося к секторам напрямую, например dmde, то картина будет другая.

Если мы откроем том С как логическое устройство и посмотрим на содержимое файла, то увидим те же самые нули.


Но если открыть диск как физическое устройство, то в том же самом секторе (обратите внимание на номера LBA – разница в 63 возникла из-за того, что начало раздела сдвинуто относительно начала диска) увидим данные, которые ранее были записаны в какой-то позже удаленный файл.


И если мы увеличим длину действительных данных, то увидим эти данные в файле. Установим эту длину равной 300 байт:

fsutil file setvaliddata C:\пробный.txt 300

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

Теперь снова посмотри на содержимое файла. Заметьте, что никаких данных мы в него не записывали!


Чисто случайно получилось, что в этом файле довольно много осмысленного текста, что делает картину более наглядной. 300 десятичных байтов – это 12c шестнадцатиричных, и как раз на этом байте обрывается текст и начинаются нули. Если сдвинуть границу действительных данных еще дальше, то «проявятся» и следующие строки.

Подведем итоги

Имеется две физических длины файла – это размер файла, записанный в файловой системе и место, занимаемое на диске. Также имеется две логических длины файла – это признак конца файла (байт EOF – 27h) и длина действительных данных. Как составную часть логической длины можно рассматривать и пустые области в разреженных файлах – вспомните \$Extend\$UsnJrnl, где большой массив отсутствующих данных завершается тридцатью двумя мегабайтами действительных.

Итак, обычно, когда говорят о длине файла, имеют в виду число, хранящееся в файловой системе. Но, как видите, возможны варианты!

В этой статье, я хотел познакомить своих читателей с понятием размера файла, папки , или даже программы (учитывая, что программа и представляет собой набор папок и файлов).

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

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

1 КБ = 1024 байт

1 МБ = 1024 КБ

1 ГБ = 1024 МБ

Расшифруем:

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

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

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

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

Откроется окошко, в котором будет указан размер этого файла или папки.

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

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

  • Дискета — 1,44 МБ (подходит для записи текстовых файлов)
  • CD диск — 700 МБ (подходит для записи музыки, небольших видеороликов и программ)
  • DVD диск — от 4 ГБ (подходит для записи чего угодно). Стандартный объем DVD диска равен 4,7 Гб. Еще бывают двусторонние DVD диски. Это означает, что запись может быть с двух сторон - и с одной, и со второй. У таких дисков объем 9,4 Гб. Также существуют двухслойные диски, но они менее распространены. У таких дисков объемы следующие: 1-сторонние 2-слойные - 8,5 Гб; 2-сторонние 2-слойные - 17,1 Гб.
  • Флешки — от 1ГБ (подходит для записи чего угодно)

Это все, о чем я хотел рассказать в данной статье.

Предлагаю рассмотреть, что это за звери - форматы фотографий JPG и RAW, на что они влияют и когда на них стоит обращать внимание. Что такое размер фото и вес файла, как они измерятся и от чего зависят.

Почти все фото камеры могут сохранять фотографии в формате JPG (даже камеры телефонов и планшетов). Во всех зеркальных и без зеркальных камерах, а так же в продвинутых компактах в дополнение к JPG есть, как минимум, RAW и RAW+, и иногда TIFF.

Чтобы разобраться с форматами, для начала нужно договориться, что подразумевается под понятиями "размер" фотографии и "вес" файла (фотографии). Предлагаю рассмотреть эти понятия на более осязаемых объектах... например, на вкусностях.

1 | Что такое пиксель:


Размер объектов измеряется в метрах, размер фотографии - в пикселях (px).

Если измерить размер этой вазочки с ягодами, то это буде где-то 10 сантиметров в высоту и этак сантиметров 13 в ширину... примерно. То есть мы привыкли измерять предметы сантиметрами (метрами, километрами и так далее). Если же говорить о фото этой же вазочки, то изначальный размер фотографии - 7360 пикселей (px) в ширину на 4912 пикселей (px) в высоту. Это максимальный размер фото, на который способна моя камера Nikon. Для размещения этого фото на сайте, размер фото уменьшен до 1200px на 798px (зачем, расскажу чуть позже).

Что такое пиксель? Сделанные цифровыми камерами или оцифрованные на сканере фотографии представляют собой комбинацию крошечных цветных квадратиков - пикселей . Если вы сильно увеличите любую фотографию, то увидите эти пиксели. Чем больше в фото таких пикселей, тем более детальная картинка.


Увеличенный в тысячу раз фрагмент фото - видны квадратики пикселей.

2 | Можно ли пиксели перевести в сантиметры:

Именно это и происходит, когда вам нужно напечатать фотографии на бумаге. Здесь понадобится ещё один показатель - плотность пикселей (разрешение), которую сможет напечатать принтер (или другая машина для печати фото). Полиграфическим стандартом для фотографий является разрешения 300 dpi (dpi - количество точек на дюйм). Например, для печати в красивых глянцевых журналах используют фото с разрешением 300 dpi.

Чтобы вы не ломали голову над делением размера фото на разрешение и не переводили дюймы в сантиметры, в любой программе для просмотра и редактирования фото (например, в Photoshop) есть функция просмотра размера изображения фото в сантиметрах. Она вам понадобится, чтобы понять, какого максимального размера фотографию в хорошем качестве (с разрешением 300 dpi), вы сможете напечатать на бумаге или другом материальном носителе.

Например, это фото с тропическими цветами Франжиспани, можно напечатать размером 61 см на 32 см.


Размер фотографии в пикселях и сантиметрах в программе Photoshop

Чтобы узнать размер фото в пикселях и сантиметрах в программе Photoshop, нужно нажать комбинацию клавиш Alt+Ctrl+I или зайти в меню Image (Изображение) Image size (Размер изображения).

Вернёмся к реальности цифровых фото - к пикселям и размерам фото в пикселях. Что произойдёт, если уменьшить количество пикселей в фото? Ответ - ухудшиться качество фотографии. Например, я взяла фото этой же вазочки с ягодами, что в начале статьи, и уменьшила размер фото до 150 пикселей в ширину. При таком уменьшении программа уничтожает часть пикселей. Фотография стала миниатюрной:

Теперь попробуем "растянуть" фото на всю страницу:


Растянутая картинка выглядит мутной и нечёткой

Как видите, детализация уже не та, так как часть пикселей (а вместе с ними и деталей) отсутствует.

Конечно, если использовать эту уменьшенную картинку как маленькую иконку или небольшое изображение в презентации Power Point, то будет смотреться вполне нормально, но вот для печати в журнале на пол страницы она явно не подойдёт.

3 | Какой размер фотографии (сколько пикселей) оптимален:

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

В некоторых случая нужно уменьшать размер фотографий. Как я писала выше, для сайта я уменьшаю размер фото до 1200 пикселей по длинной стороне. Если загрузить фото в полном размере, страницы сайта будут очень долго загружаться, а это многим посетителям может не понравится (не говоря уже о поисковиках Гугл и Яндекс).

Размер фотографий измеряется в пикселях (px). От количества пикселей зависит размер фото на экранах мониторов, и какого размера можно напечатать фотографию.

4 | Размер файла или "вес фотографии":

Теперь разберёмся с "весом фотографии". Так уж исторически сложилось, что в этом вопросе много путаницы и размер файла довольно часто называют "весом фотографии", что скорее удобно, чем правильно. Размер файлов измеряется мегабайтами (МВ) или килобайтами (КВ). И тут стоит помнить, что в отличии от килограммов, где 1 кг = 1000гр, 1 мегабайт = 1024 килобайт.

Как это выглядит на практике: представим ситуацию, что в вашем фотоаппарате есть карта памяти на которой написано 64GB (гигабайта) . Если посмотреть, сколько же там именно этим байтов (на компьютере правой кнопкой мыши выбрать "свойства"), то окажется, что на этой карте памяти 63567953920 байт и это равно 59,2 GB. От того, насколько большие файлы создаёт ваша камера, зависит, как много фото поместится на этой карте памяти. Например, у меня помещается 830 файлов с фото в формате RAW (о форматах читайте ниже).

От чего завит размер файла:

  • Во-первых, от размера фото (того, что пикселями измеряется): файл с первой фотографией ягодок (размер фото 7360x4912 px) - это 5.2 MB, а она же, уменьшенная до 150 рх будет "весить" 75,7 КВ (в 69 раза меньше).
  • Во-вторых, от формата (JPG, TIFF, RAW), о чём читайте ниже.
  • В-третьих, размер файла (или "вес фото") зависит от количества деталей: чем их больше, тем "тяжелее" фотография (что наиболее релевантно для JPG формата).

Много деталей - больше вес фотографии

Например, вот в этой фотографии с обезьянами со Шри-Ланки множество мелких чётких (говоря языком фотографов, "резких") деталей и размер файла с этой фотографией - 19.7MB, что существенно больше чем ягодки в вазочке на белом фоне (5.2MB).

Если вы спросите, какого размера фото я могу напечатать с фотографии, которая весит 2МБ. Никто вам не сможет ответить, пока не узнает количество пикселей. А лучше, конечно, ещё и взглянуть на фото, так как некоторые умельцы любят доставать фото из глубин интернета, увеличивать количество пикселей программно, а потом хотеть напечатать её на обложке журнала. Получается как на примере выше с растянутой фотографией вазочки шириной 150 px.

Размер файла (часто называют "вес фотографий) измеряется в мегабайтах (МВ) или килобайтах (КВ) и зависит от формата, размера в пикселях и детализайии фотографии.

5 | Форматы фото:

И, наконец-то, мы подошли к вопросу форматов изображения и типа сжатия файлов, от которых тоже зависит размер файла с фото.

Практически все фото камеры могут сохранять фотографии в формате JPG (даже камеры телефонов и планшетов). Это самый распространённый формат изображений и его "понимают" все компьютеры и программы для просмотра изображений. В формате JPG фото можно загружать в соц сети, выкладывать в блоге, добавлять в файлы Word, Power Point и так далее. JPG можно обрабатывать в Фотошопе, Лайтруме и других программах для редактирования изображений.

Из моей практики: если я хочу сделать фото для соц сети и быстро его загрузить, то я или фотографирую на телефон, или ставлю в своей камере формат файла jpg.

Что стоит помнить о формате jpg - это сжатый формат и у него есть степени сжатия. Чем выше степень сжатия, тем меньше размер файла за счёт уменьшения детализации и качества фото. Поэтому не рекомендуется многократное редактирование и пересохранение (повторное сжатие) одной и той же фотографий в формате jpg.


При сохранении файла в формате jpg выбирается степень сжатия (пример из программы Photoshop).

Во всех зеркальных и без зеркальных камерах, а так же в продвинутых компактах в дополнение к JPG есть как минимум RAW, и часто ещё и TIFF.

Немного теории:

  • TIFF (англ. Tagged Image File Format) — формат хранения растровых графических изображений (в том числе фотографий). TIFF стал популярным форматом для хранения изображений с большой глубиной цвета. Он используется в полиграфии, широко поддерживается графическими приложениями.
  • RAW (англ. raw — cырой, необработанный) — формат цифровой фотографии, содержащий необработанные данные, полученные с фотоматрицы (та штука, что в цифровых камерах заменила плёнку).

Лично я никогда не фотографирую в формат TIFF. Не могу даже придумать, зачем мне это нужно, если есть RAW. TIFF без сжатия я могу использовать для сохранения фото, которые ещё планирую доработать в программе Photoshop.

6 | Преимущества и недостатки формата RAW:

У меня в камере почти всегда стоит RAW формат, так как я собираюсь обрабатывать (редактировать) фото в Лайтруме или Фотошопе. У RAW есть ряд существенных недостатков:

  • Нет возможности просмотра файлов без предварительной конвертации. То есть для просмотра фото в формате RAW вам нужна специальная программа, поддерживающая этот формат изображений.
  • Больший объём файлов, чем при сохранении в JPEG (с моё камеры Nikon D800 размер файла с фото в формате RAW - это 74-77 МБ). Это означает, что меньше фотографий поместится на флешке.
  • RAW невозможно загрузить в соц сети, блог, и иногда даже отправить по почте. Вначале RAW нужно конвертировать в RAW конвертере (например, Adobe Camera Raw), который поддерживает тип файла с вашей модели камеры.

Почему же профессиональные фотографы часто предпочитаю RAW, а не JPG? Потому что RAW:

Сохраните эту статью на память в Pinterest
  • даёт больше возможностей для коррекции изображения: баланса белого, контраста, насыщенности, яркости и уровня шума,
  • позволяют сильнее корректировать снимки без появления дефектов,
  • позволяет тонкую коррекцию недостатков объектива (виньетирование, хроматические аберрации).

Итак, если вы планируете тщательнейшим образом обрабатывать снимки в Фотошопе или Лайтруме, тонко чувствуя "артефакты" и полутона, "пересветы" и "провалы" в тенях, то снимайте в RAW. Только помните, что для получения хорошего результата, вам понадобится разобраться с настройками и работой RAW конвертеров. Подумайте, нужно ли вам эта головная боль? Может стоит снимать в JPG и уделить больше времени отдыху, а не компьютеру?

Если говорить об информации в целом, то измеряется она в БАЙТАХ. Измерение в этих единицах началось с далёкого 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:)», как на рисунке:

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


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

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

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


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


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

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



Наверное, Вы часто видите на сайтах подпись с указанием размера файла. Данный показатель сам никто не подписывает. Этот вопрос решается написанием функции на 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.""; // выводим результат с размером
?>
Всё готово! Пользуйтесь на здоровье!
Спасибо за внимание! И удачи в работе!

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ:
Компьютеры и современные гаджеты