Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   PHP (http://www.flasher.ru/forum/forumdisplay.php?f=20)
-   -   Как определить размер папки в РНР? (http://www.flasher.ru/forum/showthread.php?t=58749)

cosmo 28.05.2004 10:21

Как определить размер папки в РНР?
 
Никто не знает, как можно определить размер папки в РНР? Что-то типа filesize(), но для папок. Очень не хочется в цикле собирать размеры всех файлов в папке.

Constantine 28.05.2004 12:31

Код:

dmitri926 AT yahoo DOT com (07-Jan-2003 12:08):
i created function dir_size, it finds out the size of files in a
directory and its subdirectories using recursion. it returns the
total size in bytes.
function dir_size($dir) {
$totalsize=0;
if ($dirstream = @opendir($dir)) {
while (false !== ($filename = readdir($dirstream))) {
if ($filename!="." && $filename!="..")
{
if (is_file($dir."/".$filename))
$totalsize+=filesize($dir."/".$filename);

if (is_dir($dir."/".$filename))
$totalsize+=dir_size($dir."/".$filename);
}
}
}
closedir($dirstream);
return $totalsize;
}


ninja_127 28.05.2004 22:18

у папок не бывает размеров*) буахахаха!!!

nagash 29.05.2004 01:47

Re: Как определить размер папки в РНР?
 
Цитата:

Оригинал написал(а) cosmo
Никто не знает, как можно определить размер папки в РНР? Что-то типа filesize(), но для папок. Очень не хочется в цикле собирать размеры всех файлов в папке.
не думал почему винда большие папки долго на размер обсчитывает?
думаешь там не знали о такой полезной функции о которой знают только избранные? или такой функции вообще не существует...
мне кажется второе ближе к истине...
вывод?
обычной рекурсией обойти и подсчитать...

(- Goo -) [sublimit] 30.05.2004 08:08

В пятом пхп всё проще.

nagash 30.05.2004 18:57

Цитата:

Оригинал написал(а) (- Goo -) [sublimit]
В пятом пхп всё проще.
дааааааа?
а вот можно с этого момента поподробней...
чем определение размера папки в пятом пхп отличается от четвёртого?
было бы очень интересно послушать

(- Goo -) [sublimit] 30.05.2004 19:23

Через функцию scandir, потом по возвращенному массиву высчитывать размеры файлов, и повторной функцией размеры файлов во вложенных папках.

И Нагаш, ты лучше всех знаешь php, никто не спорит, но ненадо так реагировать я тебя прошу, страшно становится за развитие молодого разума ;)

(- Goo -) [sublimit] 30.05.2004 19:30

Цитата:

Оригинал написал(а) nagash
папки в пятом пхп отличается от четвёртого?
Если привести пример, то папки это стены между кучами файлов. Соответственно, стена, это не мешок взвесив который ты получишь общий вес всех вложенных элементов.
Папки - это разделители. И вычисление размера делается только пересчитыванием размера каждого элемента. Сумма каждого элемента - это и есть размер папки.

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

cosmo 01.06.2004 09:26

Плохо. Я думал всё проще. Ладно придётся пожертвовать временем на обсчёт папки


Часовой пояс GMT +4, время: 23:11.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.