• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Определить размер каталога

  • Автор темы aka_Kail
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

aka_Kail

Проблема..
Надо определить размер каталога с вложенными каталогами..
Могу нацарапать функцию с рекурсией, но!!
каталогов много, и возможны вылеты, и в итоге неправильные данные.
Крон подключать - тоже не то...

ф-ция stat() не помогает (она с каталогами не дружит)...

Если кто нить видел скрипт, определяющий размер каталога - киньте линк, плиииз!



PS на сайте NoNaМыча (http://nnm.ru) есть линк на крякнутый PHPED 5 версии! (~50 mb)
Kачать всем!
 
@

@ero

<?
$size = '';
size_of_dir_num('/home/test1.ru');
// вместо /home/test1.ru - путь к директории размер которой надо узнать
function size_of_dir_num($path)
{

$dir = opendir($path);
global $size;
while($d = readdir($dir))
{
if ($d == '.' || $d == '..') continue;
if (is_file($path.'/'.$d))
{
$size = $size + filesize($path.'/'.$d);
}
else if (is_dir($path.'/'.$d)) size_of_dir_num($path.'/'.$d);
}

}
echo ($size / 1024 / 1024);
echo(' mb');
?>
 
M

MajestiC

Для: @ero
Читай внимательней, просили без рекурсий.
 
@

@ero

интересно и как ты здесь без рекурсии хочешь обойтись?
лично я другого решения ни вижу.

если ты боишься за систему то можно задать глубину рекурсии.
вылетов серьезных не будет.
 
M

MajestiC

Для: @ero
интересно и как ты здесь без рекурсии хочешь обойтись?
лично я другого решения ни вижу.
Не видишь - не пиши.

Человек же написал:
Могу нацарапать функцию с рекурсией, но!!
То есть он ищет возможный вариант решения без рекурсий, именно за ним он и обратился на форум.
 
A

acorn

Для: MajestiC
[offtop] а ты не оффтопь :) [/offtop]
 
M

MajestiC

Для: Acorn
Ну как же без оффтопа =)
 
A

aka_Kail

Ребят, спасибо, но тот код я и сам мог нацарапать...
а теперь прикиньте - 400 папок, по 5000 фйлов в каждом???

я думаю попробовать через ftp:// - там есть вроде ф-я для определения размера каталога.
вот только... придётся скрипт на крон вешать на другом сайте - локально , наверно ftp не отработает... =(
 
Z

zend

Если работаем под *NIX, можно попробовать du. Через какойнить popen...
 
A

aka_Kail

Ага! во! нашёл!
<?
system('du -s /home/www/login/papka');
?>
на вывод - 108 /home/www/login/papka
немного модернизировал - и теперь
<?
system('du -s -h /home/www/login/papka');
?>

на вывод - 108К /home/www/login/papka

то что надо!

ну а уж отделить зёрна от плёвел - плёвое дело :)
Спасибо за пинок в нужную сторону..
Думаю тему можно закрыть.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!