Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Заваруха со считыванием дирректорий и поддиректорий

Сообщения:  [1-10]   [11-16] 

 
 автор: cheops   (12.08.2005 в 22:44)   письмо автору
 
   для: 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

   
 
 автор: totx   (12.08.2005 в 21:35)   письмо автору
 
   для: cheops   (12.08.2005 в 19:22)
 

Мне нужно просто для прочитанной дирректории.
А, что ты имел ввиду под:

спуск вниз по дереву директорий

Если не сложно покажи разницу.

   
 
 автор: cheops   (12.08.2005 в 19:22)   письмо автору
 
   для: totx   (12.08.2005 в 19:06)
 

Просто для директории или нужно осуществить спуск вниз по дереву директорий?

   
 
 автор: totx   (12.08.2005 в 19:06)   письмо автору
 
   для: Андрюха.   (12.08.2005 в 15:22)
 

Да мне все-то нужно проверить пустая ли прочитанная дирректория.
-если пустая -=FALSE=-
-если не пустая -=TRUE=-
Забудте вы этот код, что сверху, напишите самый простой, свой код.А код оптимизирую, когда наведу мосты окончательно.

   
 
 автор: Андрюха.   (12.08.2005 в 15:22)   письмо автору
 
   для: cheops   (12.08.2005 в 13:10)
 

Это Вы меня???
1- корневая
11-подкаталог

   
 
 автор: cheops   (12.08.2005 в 13:10)   письмо автору
 
   для: Андрюха.   (12.08.2005 в 12:56)
 

Хм... а структура директорий какая?

   
 
 автор: Андрюха.   (12.08.2005 в 12:56)   письмо автору
 
   для: cheops   (12.08.2005 в 12:20)
 


<?php
//        sort($dirs2);
        
for ($i2=0;$i2<sizeof($dirs2);$i2++)
        {
        
$name2 $dirs2[$i2];
        
//&Auml;&aring;&euml;&agrave;&aring;&igrave; &iuml;&eth;&icirc;&acirc;&aring;&eth;&ecirc;&oacute;
        
$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 есть, проверим нет ли в ней папок ?

   
 
 автор: cheops   (12.08.2005 в 12:20)   письмо автору
 
   для: totx   (12.08.2005 в 10:04)
 

Вероятно тема не вызывает ажиотажа, так как очень сложно разобраться в коде... как-то очень сложно организован - требуется длительное время что-бы понять что откуда растёт, поэтому все на него смотрят минут 10, чешут голову и идут к следующей теме :))) Обычно такой код составляют из универсальной функции которая читает содержимое директории и возвращает массив. Тогда код обхода становится более компактным и понятным - такая организация кода поможет разобоаться и вам в проблеме и нам помочь будет гораздо проще.

   
 
 автор: totx   (12.08.2005 в 10:04)   письмо автору
 
   для: totx   (11.08.2005 в 19:35)
 

Че-то опять тишина, люди, здесь кто-нить кроме cheops-a разбирается в PHP ?

   
 
 автор: totx   (11.08.2005 в 19:35)   письмо автору
 
   для: cheops   (11.08.2005 в 19:06)
 

Конечная это там где делаем проверку if(!empty($dirs)) дальше if(!empty($r_dir_2)) и еще дальше if(!empty($r_dir_3))

   

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования