Подсчет файлов вложенных папок,вес+новые

Печать RSS
551

Автор
★☆Pro100Поэт☆★
0
Всем привет,ребят,как осуществить подсчет файлов в подпапках например в папке dоwn,лежит еще 6-7 папок,как подсчитать в них файлы? Например эта функция:
function read_dir($dir) {
if (empty($allsize)){$allsize = 0;}
if ($path = opendir($dir)) {
while ($file_name = readdir($path)) {
if (($file_name!=='.') && ($file_name!=='..')){
if (is_dir($dir."/".$file_name)) {$allsize +=read_dir($dir."/".$file_name);} else { $allsize += filesize($dir."/".$file_name);}
}}
closedir ($path);
}
return $allsize;
}
выводит колличество папок,или файла в одной директории...а надо с подпапками,и вес такого же формата,чтоб показывал вес папки и папок вложенных в нее,по такому принципу,и последнее,как на файлах все сделать,что бы показывало новые файлы,например 312/+91?
Автор
★☆Pro100Поэт☆★
0
Ошибочка,код выше,выводит вес,но очень подозрительным числом

ツ ツ ツ
0
2. InFeRoruM AngeluS, че подозрительным? гг
Она выводит тебе вес в байтах, раздели на 1024 и получишь в кб
Автор
★☆Pro100Поэт☆★
0
3.каким образом? Если путь типо есhо rеаd_dir('путь к папке');
И

Оранжевые штаны
0
В моторе есть вот такая функция, попробуй:
 <?php
function formatsize($file_size){
if ($file_size >= 1048576000){
$file_size = round(($file_size / 1073741824), 2) . " Gb";
} elseif (
$file_size >= 1024000){
$file_size = round(($file_size / 1048576), 2) . " Mb";
} elseif (
$file_size >= 1000){
$file_size = round(($file_size / 1024), 2) . " Kb";
} else {
$file_size = round($file_size) . " byte";}
return $file_size;}
echo formatsize(rеаd_dir('путь к папке'));
Изменил: Игорь (19.03.2010 / 12:46)
Автор
★☆Pro100Поэт☆★
0
5.спасибо,попробую

ツ ツ ツ
0
InFeRoruM AngeluS (Сегодня / 12:30)
3.каким образом? Если путь типо есhо rеаd_dir('путь к папке');
есhо rеаd_dir('путь к папке')/1024.'кб';
Автор
★☆Pro100Поэт☆★
0
7.Блин,я сам себя поражаю,я это так и делал,спасибо!
С одним разобрались,как другое?
A

Оранжевые штаны
0
просто когда ты считаешь количество или размер файлов в папке нужно поставить условие что если рассматриваемый объект - папка а не файл то функция вызывает сама себя это называется рекурсивная функция
Автор
★☆Pro100Поэт☆★
0
Ни один из способов не работает
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск