|
|
|
| Добрый день.
Вот смотрите есть код
<?
$dirname = ".";
function GetCountFiles($dirname)
{
$c = 0;
$dir = opendir($dirname);
while($file = readdir($dir))
{
if($file == '.' || $file == '..')
continue;
if(is_dir($dirname."/".$file))
{
$c += GetCountFiles($dirname."/".$file);
}
elseif(is_file($dirname."/".$file) && substr($file, -4) != '.txt' and substr($file, -4) != '.gif' and substr($file, -4) != '.jpg' and substr($file, -4) != '.png' and substr($file, -4) != '.php')
{
$c++;
}
}
return $c;
}
?>
|
Когда файлов в директории много,он работает очень медленно!
Можно этот код как то модернизировать?
Чтобы быстрей работал!
Реально ли? | |
|
|
|
|
|
|
|
для: ruwap
(08.05.2007 в 16:19)
| | Вар.1. Собирать список файлов в массив. И только после этого уходить в рекурсию.
Вар. 2. Переписать обход на нерекурсивный вариант. | |
|
|
|
|
|
|
|
для: Trianon
(08.05.2007 в 16:43)
| | А примерчег можно?Для варианта 2! | |
|
|
|
|
|
|
|
для: ruwap
(08.05.2007 в 17:03)
| | Нельзя. Можно подсказку.
Обход дерева в ширину (не в глубину) осуществляется без стека, но с помощью двух очередей. В цикле. Рекурсия при этом не требуется. | |
|
|
|
|
|
|
|
для: Trianon
(08.05.2007 в 17:17)
| | Блин,теперь прийдется целый день над этим сидеть. | |
|
|
|
|
|
|
|
для: ruwap
(08.05.2007 в 17:37)
| | Блин,нифига чет не получаиц!
Может все т таки кто то напишет пример?
Пожалусто | |
|
|
|
|
|
|
|
для: ruwap
(09.05.2007 в 11:04)
| | хм... а не надо static $c = 0;? | |
|
|
|
|
|
|
|
для: bronenos
(09.05.2007 в 11:18)
| | $c=0; заменить на static $c = 0;
Если так.то нифига не получаиц :( | |
|
|
|
|
|
|
|
для: ruwap
(09.05.2007 в 11:29)
| | Блин,поднимаю уже второй раз!
Так как не знаю к кому обратится!
Может кто знает | |
|
|
|
|
|
|
|
для: ruwap
(09.05.2007 в 16:00)
| | Попытаюсь Вам обьяснить.
На данном форуме охотно помогают решить проблему, и не очень охотно выполняют за кого-то их работу (типо намёк). Поэтому не стоит так часто употреблять восклицательный знак, а тихо мирно сидеть и ждать, когда у кого-нибудь появиться желание и время написать скрипт за вас.
Есть ещё вариант, писать самому и консультироваться здесь хоть по каждой строчке. (второй вариант более эффективен) | |
|
|
|
|
|
|
|
для: Valick
(09.05.2007 в 16:19)
| | Какого типа файлы в каталоге и подкаталогах? Какие расширения? | |
|
|
|
|
|
|
|
для: Shorr Kan
(09.05.2007 в 16:59)
| | jpg,gif,png | |
|
|
|