Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Размер файла как в операционке
 
 автор: morkovkin   (28.04.2008 в 20:56)   письмо автору
 
 

Вот столкнулся с незадачей.

Определяя размер файла функцийей filesize получаю значание: 6913716
То есть как бы - 6.91 Мб
Деление на 1024 даёт результат - 6751.67578125
Но на компьютере размер файла выглядит, как - 6.59 Мб

Каким образом рассчитать размер, который показывается в операционке.
Погадал над числом, получилось число 1050, то больше, то меньше.
Где и в чём смысл? :)

Спасибо!

   
 
 автор: [Atheist]   (28.04.2008 в 21:39)
 
   для: morkovkin   (28.04.2008 в 20:56)
 

> Деление на 1024 даёт результат - 6751.67578125
> Но на компьютере размер файла выглядит, как - 6.59 Мб

Ты же получил количество килобайт. Раздели еще на 1024 и будет тебе 6.59 с хвостом.

> Погадал над числом, получилось число 1050
Арифметика :)))

   
 
 автор: AcidTrash   (28.04.2008 в 21:59)   письмо автору
 
   для: morkovkin   (28.04.2008 в 20:56)
 

Но на компьютере размер файла выглядит, как - 6.59 Мб
На компьютере операционка Windows? Она скажем так округляет. :)

   
 
 автор: [Atheist]   (28.04.2008 в 22:03)
 
   для: AcidTrash   (28.04.2008 в 21:59)
 

> На компьютере операционка Windows?
Это тут при чём? Такой размер будет всегда. Если, конечно, отбросить хвост.

   
 
 автор: AcidTrash   (28.04.2008 в 22:20)   письмо автору
 
   для: [Atheist]   (28.04.2008 в 22:03)
 

Хвост мы и отбрасываем.

   
 
 автор: morkovkin   (28.04.2008 в 22:22)   письмо автору
 
   для: [Atheist]   (28.04.2008 в 22:03)
 

Спасибо! Получилось нужное число, когда исходный размер поделил на 1024, а потом результат опять поделил на 1024 :)

   
 
 автор: sim5   (29.04.2008 в 07:09)   письмо автору
 
   для: [Atheist]   (28.04.2008 в 22:03)
 

Он имел ввиду видимо именно отображение, например, Windows покажет размер файла: 2.60 МБ (2 732 671 байт), который реально на диске занимает: 2.60 МБ (2 736 128 байт).

   
 
 автор: OLi   (01.06.2008 в 21:24)   письмо автору
 
   для: AcidTrash   (28.04.2008 в 21:59)
 

Она не округляет-Это зависит в какой файловой системе находится файл NTFS ОБЫЧНО занижает размер файла а FAT32 НАОБОРОТ

   
 
 автор: OLi   (01.06.2008 в 23:50)   письмо автору
 
   для: morkovkin   (28.04.2008 в 20:56)
 

Можно еще использовать функцию printf()
Чтобы получить 6.91 мб сделай так:

<?php $file=filesize("Файл");
$file=$file/1024;
$file=$file/1024;
printf("%.2f",$file);
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования