|
|
|
|
|
для: totx
(12.08.2005 в 21:35)
| | Допустим скрипт для проверки пустая директория или нет может выглядеть следующим образом:
<?php
// Имя директории
$dirname=".";
if(is_empty_dir($dirname)) echo "В директории имеются файлы";
else echo "Директория пуста";
// Функция, которая проверяет имеются в
// директории файлы или нет
function is_empty_dir($dirname)
{
// Открываем директорию
$dir = opendir($dirname);
// Читаем директорию
while ($file = readdir($dir))
{
if (is_file($dirname."/".$file))
{
// Закрываем директорию
closedir($dir);
return true;
}
}
// Закрываем директорию
closedir($dir);
return false;
}
?>
|
Однако он проверит только одну директорию, если нужно проверить файлых всех вложенных друг в друга директорий, то прибегают к рекурсивному спуску по дереву директорий, как например в скриптах
http://www.softtime.ru/scripts/replace.php
http://www.softtime.ru/scripts/numlines.php
http://www.softtime.ru/scripts/ftpscaner.php | |
|
|
|
|
|
|
|
для: cheops
(12.08.2005 в 19:22)
| | Мне нужно просто для прочитанной дирректории.
А, что ты имел ввиду под:
спуск вниз по дереву директорий
|
Если не сложно покажи разницу. | |
|
|
|
|
|
|
|
для: totx
(12.08.2005 в 19:06)
| | Просто для директории или нужно осуществить спуск вниз по дереву директорий? | |
|
|
|
|
|
|
|
для: Андрюха.
(12.08.2005 в 15:22)
| | Да мне все-то нужно проверить пустая ли прочитанная дирректория.
-если пустая -=FALSE=-
-если не пустая -=TRUE=-
Забудте вы этот код, что сверху, напишите самый простой, свой код.А код оптимизирую, когда наведу мосты окончательно. | |
|
|
|
|
|
|
|
для: cheops
(12.08.2005 в 13:10)
| | Это Вы меня???
1- корневая
11-подкаталог | |
|
|
|
|
|
|
|
для: Андрюха.
(12.08.2005 в 12:56)
| | Хм... а структура директорий какая? | |
|
|
|
|
|
|
|
для: cheops
(12.08.2005 в 12:20)
| |
<?php
// sort($dirs2);
for ($i2=0;$i2<sizeof($dirs2);$i2++)
{
$name2 = $dirs2[$i2];
//Äåëàåì ïðîâåðêó
$r_dir_3 = readdir(opendir($folder.'/'.$name.'/'.$name2));
if(empty($r_dir_3)) {
?>
|
А если поизмыватся над условием???
выдает
Т.к. дирректория 1 есть, проверим нет ли в ней папок ?
В дирректории 11 нет папок.
Т.к. дирректория 2 есть, проверим нет ли в ней папок ?
Т.к. дирректория 3 есть, проверим нет ли в ней папок ?
В дирректории 31 нет папок.
В дирректории 32 нет папок.
В дирректории 33 нет папок.
Т.к. дирректория 4 есть, проверим нет ли в ней папок ?
Т.к. дирректория 5 есть, проверим нет ли в ней папок ?
В дирректории 51 нет папок.
В дирректории 52 нет папок.
В дирректории 53 нет папок.
Т.к. дирректория 6 есть, проверим нет ли в ней папок ? | |
|
|
|
|
|
|
|
для: totx
(12.08.2005 в 10:04)
| | Вероятно тема не вызывает ажиотажа, так как очень сложно разобраться в коде... как-то очень сложно организован - требуется длительное время что-бы понять что откуда растёт, поэтому все на него смотрят минут 10, чешут голову и идут к следующей теме :))) Обычно такой код составляют из универсальной функции которая читает содержимое директории и возвращает массив. Тогда код обхода становится более компактным и понятным - такая организация кода поможет разобоаться и вам в проблеме и нам помочь будет гораздо проще. | |
|
|
|
|
|
|
|
для: totx
(11.08.2005 в 19:35)
| | Че-то опять тишина, люди, здесь кто-нить кроме cheops-a разбирается в PHP ? | |
|
|
|
|
|
|
|
для: cheops
(11.08.2005 в 19:06)
| | Конечная это там где делаем проверку if(!empty($dirs)) дальше if(!empty($r_dir_2)) и еще дальше if(!empty($r_dir_3)) | |
|
|
|
|