Определение числа файлов и их размер в папке произвольной вложенности

<?php
/**
 *Определение числа файлов и их размер в папке произвольной вложенности
 *автор: nc_soft
 *13.09.07
*/

//рекурсивная функция, которая вызывает сама себя
function count_files($directory)
{
    //нужна внешняя переменная чтобы учитывать суммарное кол-во файлов
    GLOBAL $i,$size;

    //открываем директорию
    $dir=opendir($directory);

    //читаем директорию в цикле
    while (false!==($file=readdir($dir)))
    {
        //если это файл, то
        if (is_file($directory.'/'.$file))
        {
            //увеличиваем счетчик
            $i++;

			//увеличиваем размер
			$size+=filesize($directory.'/'.$file);

            /*если необходимо, то можно удалить все файлы для примера вот так:
            unlink($directory.'/'.$file); */
        }
        //если же наткнулись на директорию
        elseif (is_dir($directory.'/'.$file) && $file!='.' && $file!='..')
        {
            //снова вызываем функцию уже для этой директории
            count_files($directory.'/'.$file);
        }
    }
    //закрываем директорию
    closedir($dir);
}

$i=0;
$size=0;

//посчитаем файлы в текущей директории
count_files('.');

echo 'файлов :'.$i;
echo ' размером :'.$size;

?>