|
|
|
| Мне необходимо подсчитать количество файлов в директории. Я воспользовался функцией, приведенной в самоучителе по РНР 5:
<?php
$dir = "./files/amortizatory/tuningovye";
$schet = get_number_files ($dir);
function get_number_files($dir)
{
$num = 0;
$arr = scandir($dir);
while(current($arr))
{
if(current($arr) == "."|| current($arr) == "..") continue;
if (is_dir($dir."/".current($arr)))
{
$num += get_number_files($dir."/".current($arr));
}
else
{
$num++;
}
next($arr);
}
}
?>
|
Но она почему - то очень медленно выполняется - ей не хватило и 300 секунд на выполнение.
Подскажите, пожалуйста, в чем дело. | |
|
|
|
|
|
|
|
для: killah
(20.09.2006 в 20:15)
| | а сколько файлов в дирректории? | |
|
|
|
|
|
|
|
для: kasmanaft
(20.09.2006 в 20:24)
| | Не более 300. | |
|
|
|
|
|
|
|
для: killah
(20.09.2006 в 20:15)
| | Ужас какой! Нда... Ну они и намудрили, все намного проще)
<?
// "./" - дериктория которую сканируем
$mdir = opendir ( "./" );
while ( $file = readdir( $mdir ) )
{
if ( ($file != ".") && ($file != ".."))
{
$files++;
}
}
closedir ( $mdir );
print "Всего файлов: \n".$files;
?>
|
Но скрипт считает и папки, как файл... Надеюсь проверку на папку сам допишешь) | |
|
|
|
|
|
|
|
для: dumus
(20.09.2006 в 20:35)
| | Ещё есть функция glob(), она все имена файлов записывает в заданный массив. Потом просто можно посчитать кол-во элементов в массиве, и узнать кол-во файлов:
$count = count($array)-1;
|
| |
|
|
|
|
|
|
|
для: Freddie_X
(20.09.2006 в 20:43)
| | И отнять значение 2... Ибо, . и .. - подсчетает тоже, как файл... | |
|
|
|