Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не работает рекурсия, Удаление каталога 
V
    Опции темы
supercelt
Дата 19.8.2009, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 658
Регистрация: 25.8.2005

Репутация: нет
Всего: 1



Для пробы функция прост овыводит список того что удалиться, то есть файлы в папке и подкаталоги. Но оба варианта не работают. Они сканят только первый каталог, а вложенные не трогают вообще.

1 вариант

Код

function delete_dir($path)
{
 $scan = opendir($path);
  while($v = readdir($scan))
  {
     if($v == '.' or $v == '..')
     continue;
      if(is_file($v))
      {
      $result.= $v.'- File<br />';
      }
      elseif(is_dir($path.'/'.$v))
      {
      $result.= $v.'- Cat<br />';
      delete_dir($path.'/'.$v);
      }
  }
return $result;  
}

$path = 'Z:/home/testcms.com/www/cms_s01_upload_files/images';
chdir($path);
$result = '';    
echo delete_dir($path);    


Результат работы:
Код

165995.jpg- File
2019382.jpg- File
20193822.jpg- File
2657464_11234124178-p.jpg- File
43145542_1240908636_Foto0011.jpg- File
b_img8.jpg- File
f_11809126.jpg- File
f_11809325.jpg- File
f_12099997.jpg- File
IMG_2940.jpg- File
IMG_2941.jpg- File
IMG_2942.jpg- File
IMG_2943.jpg- File
IMG_2944.jpg- File
IMG_2946.jpg- File
IMG_2947.jpg- File
IMG_2948.jpg- File
IMG_2950.jpg- File
IMG_2953.jpg- File
IMG_3013.jpg- File
kod.JPG- File
proezd.jpg- File
Rassilka_19_04_09.jpg- File
Rotation_of_P1000812.jpg- File
search.jpg- File
serga.jpg- File
stat.jpg- File
superc.jpg- File
superc2.jpg- File
thumbs- Cat
x_8a989c0c.jpg- File
ya.jpg- File


Должно сканить ещё подкаталог thumbs, в котором столько же картинок, только маленьких, однако не сканит и не выводит


Вот второй вариант:

Код

function delete_dir($path)
{
$result.= '<b>'.$path.'</b><br /><br />';
$scan = scandir($path);

foreach($scan as $k => $v)
{
     if($v == '.' or $v == '..')
     continue;
      if(is_file($v))
      {
      $result.= $v.'- File<br />';
      }
      elseif(is_dir($path.'/'.$v))
      {
      $result.= $v.'- Cat<br />';
      delete_dir($path.'/'.$v);
      }
  }
return $result;  
}

$path = 'Z:/home/testcms.com/www/cms_s01_upload_files/images';
chdir($path);
$result = '';    
echo delete_dir($path);    


Выводит тоже самое что и в первом варианте.

Короче не работает рекурсия, не знаю где ошибка, помогите пожалуйста разобраться
PM   Вверх
solenko
Дата 19.8.2009, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 34
Всего: 67



Код

$result.=    delete_dir($path.'/'.$v);



--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
supercelt
Дата 19.8.2009, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 658
Регистрация: 25.8.2005

Репутация: нет
Всего: 1



solenko, заработало, спасибо))
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0394 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.