Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/34: Рейтинг темы: голосов - 34, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 18

Рекурсивный проход по всем папкам и удаление файла по имени

02.11.2014, 16:32. Показов 6796. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день

Пытаюсь сделать скрипт для который бы проходил по всем папкам на сервере и удалял файл с нужным именем
Вот склепал из кусков кода что-то похожее, но удаляет только в стартовой директории, в остальных не удаляет.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
removeFile(".");
 
// В качестве аргумента передаем путь(имя) до папки.
 
function removeFile ($patch) {
$handle = opendir($patch);
  while(false !== ($file = readdir($handle))) {
    if (is_file ($patch."/".$file) && $file = "trd.php" ) /*.проверяем на имя файл.*/
     {
       unlink($file);
     }
    if (is_dir ($patch."/".$file) && ($file != ".") && ($file != ".."))
    {
      /* рекусрсивно проходим по директории*/
      removeFile($patch."/".$file);  // Обходим вложенный каталог
     }
  }
  closedir($handle);
}
  
?>
Ругается

( ! ) Warning: unlink(trd.php): No such file or directory in C:\wamp\www\testfile\removefile.php on line 11
Call Stack
# Time Memory Function Location
1 0.0000 135504 {main}( ) ..\removefile.php:0
2 0.0000 135600 removeFile( ) ..\removefile.php:2
3 0.0000 136168 removeFile( ) ..\removefile.php:16
4 0.0010 136496 unlink ( ) ..\removefile.php:11


Помогите разобраться, что не так

Заранее спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.11.2014, 16:32
Ответы с готовыми решениями:

Распределение файлов по папкам созданных как часть имени файла
Добрый день. Прошу подсказать в решении такой задачки. Есть 1 500 000 файлов с именами типа...

Как реализовать распределение файлов по папкам исходя из части имени файла?
Доброго времени суток, друзья! Есть папка в папке 200 - 300 файлов (И такие буду приходить довольно часто) Образца:...

Разложить файлы по папкам с именами, являющимися частью имени файла - CMD/BAT
Привет. Помогите пожалуйста!!! Есть WIN7 папка F:\PIC в ней 4000 фото =) Файлы: 73I6F312Q0097K_012.jpg 73I6F312Q0097K_012_01.jpg ...

5
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
02.11.2014, 17:04
Лучший ответ Сообщение было отмечено artpol как решение

Решение

artpol, а почему бы не использовать современные методы, вместо "дедушкиных"?
PHP
1
2
3
4
5
6
7
8
9
10
11
$directory = 'from_dir/'; // откуда пляшем
$file = '10.png'; // какой файл удаляем
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));
while($it->valid()){
    if (!$it->isDot()) {
        if($it->getFilename() == $file){
            unlink($it->key());
        }
    }
    $it->next();
}
Всё!
1
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 18
02.11.2014, 17:08  [ТС]
Круто, даже не знал о таком

А если надо указать корневой каталог, точку поставить в директориях?
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
02.11.2014, 17:10
Лучший ответ Сообщение было отмечено artpol как решение

Решение

Цитата Сообщение от artpol Посмотреть сообщение
А если надо указать корневой каталог
PHP
1
$directory = './';
1
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 18
02.11.2014, 17:13  [ТС]
Спасибо, буду пробовать!
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
02.11.2014, 17:20
Цитата Сообщение от Lazy_Den Посмотреть сообщение
А если надо указать корневой каталог
Если корень сайта:
PHP
1
$directory = $_SERVER['DOCUMENT_ROOT'].'/';
Добавлено через 1 минуту
Цитата Сообщение от artpol Посмотреть сообщение
Спасибо, буду пробовать!
Чего там пробовать-то? Запустили, удалили весь сайт удалили нужное и дело в шляпе ))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.11.2014, 17:20
Помогаю со студенческими работами здесь

Рекурсивный проход
Рекурсивный проход по всем каталогам в заданной директории, удалить все файлы из директории, созданные или измененные сегодня, в названии...

Рекурсивный поиск и удаление каталога. Пробелы в имени каталога
Со вторым днем зимы всех. Есть bat: @echo off rem unsvn.bat setlocal rem rdir=название_удаляемых_каталогов set rdir=Startup ...

Проход по всем TextBox
Мне нужно перевести слледующее в С# (Спасибо) For Each xTextBox In Me.Controls If TypeName(xTextBox) = &quot;TextBox&quot;...

Проход по всем полям таблицы
Помогите народ!! Есть 2 таблицы(Q1 и T3). В одной из них (T3) есть поле &quot;srok&quot; в которое вводится дата. Пытаюсь написать код для того,...

Проход по всем узлам treeView
Помогите пройтись по всем узлам дерева. Есть treeView в которое при помощи кнопочки добавляются ветви, после того как пользователь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru