PDA

Просмотр полной версии : Как узнать сколько в папке


sxsanti
20.09.2007, 19:39
Как узнать сколько в папке зaнято и свободно?
место каким скриптом? :)

Ch3ck
20.09.2007, 19:44
filesize($filename)

и свободно?
мистика...

sxsanti
20.09.2007, 19:57
filesize($filename)


мистика...


Dr.Check, на пиши молный скрипт.

Shred
20.09.2007, 20:01
Как узнать сколько в папке зaнято и свободно?
место каким скриптом? :)
правый клик на папке - свойства :)

sxsanti
20.09.2007, 20:03
Shred, мне для сайта надо

Dr.Z3r0
20.09.2007, 20:16
Люди научите меня ставить минусы... (

Underwit
20.09.2007, 20:28
2TC Тебе же уже написали как проверить, если не понял что написали учи пхп.

P.S. Эта функция не будет работать с remote/удалёнными файлами; проверяемый файл обязан быть доступен через файловую систему сервера

NOmeR1
20.09.2007, 20:34
<?
#(c) NOmeR1 =)
$d = 'files/'; //название директории
$dir = glob($d.'/*');
$filesize = 0;
for($i=0;$i<count($dir);$i++)
{
$filesize = $filesize + filesize($dir[$i]);
}
echo 'Общий размен файлов в директории "'.$d.'" - '.$filesize.' байтов';
?>

Вопрос на счёт - сколько свободно задан как-то неправильно.


2Underwit, тогда к чему твой пост? %)

Ponchik
20.09.2007, 22:44
NOmeR1, ты извени, но немного отредактируем :))
<?
#Idea NOmeR1
#Edited by Ponchik :D
$d = 'С:/'; //название директории
$filesize = 0;
function getFolderSize($folder) {
global $filesize;
foreach (glob($folder.'*') as $filename) {
if(!is_file($filename)) getFolderSize($filename.'/');
else $filesize += filesize($filename);
}
}
getFolderSize($d);
function getNormalSize($size) {
$sizes = array('байт','килобайт','мегаба т','гигобайт','теробайт');
$size_id=0;
while ($size>1024) {
$size /= 1024;
$size_id++;
}
$size = round($size);
return "$size $sizes[$size_id]";
}
echo "Общий размен директории $d - " . getNormalSize($filesize) . "($filesize байт)";
?>
Добавлено:
1)Показывает "русский" размер папки :D
2)Считает размер вложеных папок
збз скриптег ИМХО :D

Isis
20.09.2007, 22:50
NOmeR1, ты извени, но мне нравится подругому :))
<?
#(c) NOmeR1 and Ponchik :D
$d = 'files/'; //название директории
$dir = glob($d.'*');
$filesize = 0;
foreach (glob($d.'*') as $filename) {
$filesize += filesize($filename);
}
echo 'Общий размен файлов в директории "'.$d.'" - '.$filesize.' байтов';
?>
Так правильнее, хотя разницы 0 :)
У данной версии так сказать :D 2 проблемы:
1)Не считает вложеные папки
2)Выдаёт размер в байтах, аффтар ни паймёт :)
Ponchik, для чего ты сделал переменную $dir ?

Ponchik
20.09.2007, 22:52
Извеняюсь! Не досомтрел!

Всё, наворотил скрипт