function gettime()
{
$part_time = explode (' ', microtime());
$real_time = $part_time[1].substr($part_time[0],1);
return $real_time;
}
function scan_dir($dirname)
{
// Открываем текущую директорию
$dir = opendir($dirname);
// Читаем в цикле директорию
while (($file = readdir($dir)) !== false)
{
// Если файл обрабатываем его содержимое
if($file != "." && $file != "..")
{
// Если имеем дело с файлом - регистрируем его
if(is_file($dirname."/".$file))
{
echo $dirname."/".$file." - ".
date("m.d.y",filemtime($dirname."/".$file))." - ".
filesize($dirname."/".$file)."
";
}
// Если перед нами директория, вызываем рекурсивно
// функцию scan_dir
if(is_dir($dirname."/".$file))
{
echo $dirname."/".$file."
";
scan_dir($dirname."/".$file);
}
}
}
// Закрываем директорию
closedir($dir);
}
function scan_dir_glob($dirname)
{
# Если путь пустой, то используем текущий каталог
empty($dirname) ? $dirname = "*" : $dirname = $dirname."/*";
$dir = glob($dirname);
if ($dir)
{
foreach($dir as $filename) // Обход массива
{
if (is_file($filename)) // если файл выводим его
{
echo "$filename - ";
echo date("m.d.y",filemtime($filename))." - ";
echo filesize($filename)."
";
}
if (is_dir($filename)) // если директория - рекурсия
{
scan_dir($filename);
echo "$filename
";
}
}
}
}
function scandir_php($dirname)
{
$dir_list = scandir($dirname);
foreach($dir_list as $file)
{
if($file != "." && $file != "..")
{
// Если имеем дело с файлом - регистрируем его
if(is_file($dirname."/".$file))
{
echo $dirname."/".$file." - ".
date("m.d.y",filemtime($dirname."/".$file))." - ".
filesize($dirname."/".$file)."
";
}
// Если перед нами директория, вызываем рекурсивно
// функцию scan_dir
if(is_dir($dirname."/".$file))
{
echo $dirname."/".$file."
";
scan_dir($dirname."/".$file);
}
}
}
}
function list_dir($dit,$nbsp='') {
for( ; $dit->valid(); $dit->next()) {
if($dit->isDir() && !$dit->isDot()) {
echo $nbsp.' - '.$dit->current().':
';
if($dit->hasChildren()) echo list_dir($dit->getChildren(),$nbsp.' ');
} elseif($dit->isFile()) echo $nbsp.$dit->current().' ('.$dit->getSize().' байт)
';
}
}
##################################
$start = gettime();
scan_dir('.');
$stop = gettime();
$dif[] = "scan_dir() - ".bcsub($stop,$start,6);
#####################################
$start = gettime();
scan_dir_glob('');
$stop = gettime();
$dif[] = "scan_dir_glob() - ".bcsub($stop,$start,6);
###########################
$start = gettime();
list_dir(new RecursiveDirectoryIterator('.'));
$stop = gettime();
$dif[] = "list_dir() - ".bcsub($stop,$start,6);
#####################################
$start = gettime();
scandir_php('.');
$stop = gettime();
$dif[] = "scandir() - ".bcsub($stop,$start,6);
###########################
echo "