|
|
|
| Привет, проблема такая.
Записываю в бд размер файла в таком виде:
5,929,088
но смотря на этот файл в виндовс, он весит 5.65 и только уже в свойствах написано в скобочках что-то типо этого 5,929,088
Каким образом мне узнать нормлаьный размер файла, который увидят пользователи, скачав файл? Спасибо!
p.s. Вычислил, что размер файла больше примерно на 0.33мб, чем на яву.. | |
|
|
|
|
|
|
|
для: mr Bin
(09.05.2007 в 00:25)
| | Вычислил, что размер файла больше примерно на 0.33мб, чем на яву..
Как же Вы вычисляли? Вы уверены, что не забыли, что в одном мегабайте 1024 * 1024 байт? | |
|
|
|
|
|
|
|
для: Unkind
(09.05.2007 в 00:27)
| | Ой, ну что так привязываться :) Просто посмотрел на размеры добавленных файлов, и посмотрел на явный объём файлов, и у всех получилось почти по 0.33мб+-0.01 | |
|
|
|
|
|
|
|
для: mr Bin
(09.05.2007 в 00:30)
| | Ой, ну что так привязываться
Я просто так бы ни за что не "привязывался". Вместо этого вычислили бы сами. Калькулятор в Windows есть. | |
|
|
|
|
|
|
|
для: Unkind
(09.05.2007 в 00:36)
| | Грубо. | |
|
|
|
|
|
|
|
для: mr Bin
(09.05.2007 в 00:25)
| | 5,929,088 / (1024*1024) = 5,6544189453125 Мб
Однако не всегда винда врет | |
|
|
|
|
|
|
|
для: kukuikar
(09.05.2007 в 00:30)
| | плюс в винде еще показывается сколько файл занимает на диске с учетом длины кластера, а этот вес всегда больше чистого. | |
|
|
|
|
|
|
|
для: kukuikar
(09.05.2007 в 00:34)
| | Спасибо большое! Всё получилось! | |
|
|
|
|
|
|
|
для: mr Bin
(09.05.2007 в 00:36)
| | Народ, столкнулся с новой проблемой:
специально для теста загрузил большой файл - 16,533,120
1) Во-первых, чтобы подсчитать, я заменяю запятые на точки.
2) Также не считает, когда две точки есть, поэтому обрубаю последние 4 символа.
16.533/(1024*1024)=1.5767097473145E-005
А должно получиться 15.7, что и является истинным размером.
Что я делаю не так и как исправить? Спасибо! | |
|
|
|
|
|
|
|
для: mr Bin
(09.05.2007 в 01:24)
| | А что, записывать без точек никак?
str_replace(".","",$string); | |
|
|
|
|
|
|
|
для: kukuikar
(09.05.2007 в 01:27)
| | Ё! Ночь может сказывается или тупой совсем...
Спасибо ещё раз большое!!! | |
|
|
|
|
|
|
|
для: kukuikar
(09.05.2007 в 01:27)
| | или вообще не писать размер в базу, а получать размер так:
<?php
$fsize = filesize($file);
?>
|
| |
|
|
|
|
|
|
|
для: kukuikar
(09.05.2007 в 01:35)
| | Не, в базу специально пишу, чтобы подсчитать размер некоторого количества файлов или весь их объём. | |
|
|
|
|
|
|
|
для: mr Bin
(09.05.2007 в 01:40)
| | Я бы сделал не так. Циклом бы обошел все нужные файлы, и вычислил их размер по одному или суммарный.
Размер файла - то может изменится....? | |
|
|
|
|
|
|
|
для: kukuikar
(09.05.2007 в 01:49)
| | Нет, размер не меняется.
Да, согласен - тактику я глупую выбрал...
Но размер в бд должен быть, т.к. постоянно брать размес с файла - это сильно грузить сервак.
Лучше в бд буду добавлять сразу готовый объём в нужном мне формате, и при просмотре страницы он уже не будет вычисляться, как сейчас...
А при нужде подсчитать объём нужных файлов буду просто складывать значения.
А чтобы узнать весь объём файлов, можно сделать отдельную ячейку, куда при каждом добавлении файла плюсовать его объём. | |
|
|
|
|
|
|
|
для: kukuikar
(09.05.2007 в 01:49)
| | Циклом бы обошел все нужные файлы
И поставить сервер раком. | |
|
|
|
|
|
|
|
для: mr Bin
(09.05.2007 в 01:24)
| | . | |
|
|
|