Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
 Аватар для SLameN
1 / 1 / 7
Регистрация: 29.10.2012
Сообщений: 247

удалить папку на FTP - ftp_rmdir

31.07.2015, 08:43. Показов 3033. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь удалить папку на FTP в логах пишет:
PHP
1
ftp_rmdir(): The directory is not empty.  in ...
Папка пустая, удалить в винде получается...

Что еще заметил, эта папка имеет вес:
Размер: 28,5 КБ (29*184 байт)
Содержит: Файлов: 1; папок: 0

Скрытые файлы показаны, ничего нет

Как создавалась папка, если нужно:
PHP
1
2
3
4
5
1. ftp_mkdir // создал папку
2. ftp_put // загрузил файлы
 
3. ftp_delete // удалил файлы
4. ftp_rmdir // удаляю папку и не удаляется...
Добавлено через 13 минут
Разобрался, попробовал еще раз удалить, вдруг прокатит)))) И чудо! у меня есть несколько подпапок и одна из папок удалилась, другие нет ошибка такая же... Появилась мысль, что может быть из-за того, что файлы не успевают удалится, нужна какая-то задержка и продолжать дальше.

PHP
1
sleep(3); // Перед каждым удалением папки ставлю сон на 3 секунды
И после этого все работает

Добавлено через 2 часа 57 минут
Вопрос актуальный...

Структура файлов такая:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1 – папка ($folderID)
    B – папка ($folderB)
        1 – файл
        2 – файл
    S – папка ($folderS)
        1 – файл
        2 – файл
    1 – файл ($nameMainDel)
2 – папка ($folderID)
    B – папка ($folderB)
        1 – файл
        2 – файл
    S – папка ($folderS)
        1 – файл
        2 – файл
    1 – файл ($nameMainDel)
И т.д.

Порядок кода такой:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
for($i = 0; $i < count($del); $i++)
            {
                $folderID = "data/photo/".$del[$i];
                $folderB = "data/photo/".$del[$i]."/b";
                $folderS = "data/photo/".$del[$i]."/s";
                $nameMainDel = "data/photo/".$del[$i]."/".$del[$i].".jpg";
                
                $dataDelPQ = mysqli_query($mysqli, "SELECT summ FROM photo_data WHERE id = '$del[$i]'");
                $dataDelPA = mysqli_fetch_assoc($dataDelPQ);
                $ii = "";
                for($ii = 0; $dataDelPA['summ'] > $ii; $ii++)
                {
                    $fileB = "data/photo/".$del[$i]."/b/".$ii.".jpg";
                    $fileS = "data/photo/".$del[$i]."/s/".$ii.".jpg";
                    ftp_delete($conn_id, $fileB);
                    ftp_delete($conn_id, $fileS);
                }
                
                ftp_delete($conn_id, $nameMainDel);
                ftp_rmdir($conn_id, $folderB);
                ftp_rmdir($conn_id, $folderS);
                sleep(10);
                ftp_rmdir($conn_id, $folderID);
            }
Все происходит рандомно при удалении, я удалю 2 папки "$folderID", и одна из папок не удаляется, в другой раз может удалится... Я не пойму с чем это связано... Структура кода ведь идет по порядку... почему не удаляет папку

Добавлено через 19 часов 5 минут
Может я некорректно выразился, помогите пжлст...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.07.2015, 08:43
Ответы с готовыми решениями:

ftp_rmdir () на локалхосте
Уважаемые форумчане! Помогите разобраться отчего на локалхосте не работает функция ftp_rmdir(). Я запустил на локалхосте сервер ФТП....

Удалить папку с файлами на FTP
Добрый день. Подскажите как удалить папку с вложенными файлами через idFTP. Спасибо Добавлено через 2 часа 49 минут Пока что...

Как на ftp-сервере сделать папку для всех и папку для некоторых?
ubuntu 12.10 помогите пожалуйста, столкнулся с проблемой создания фтп сервера создается фтп сервер заходит, но каждый пользователь...

1
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
31.07.2015, 09:09
Возможно там создаются какие-нибудь .thumb-файлы. Поэтому удаляйте файлы не по именам, а пройдитесь рекурсивно с помощью DirectoryIterator по всем папкам и файлам и удаляйте. Так надёжнее.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.07.2015, 09:09
Помогаю со студенческими работами здесь

Скачать папку по FTP
Доброго времени суток. У меня возникла потребность сделать программу резервного копирования директории с сервера на компьютер. Нужно...

Скачать папку с FTP
Бьюсь об стену и не могу найти в сети нормального примера (без доп. библ.) Как скачать папку из FTP ?

Загрузить папку на FTP
Добрый вечер. Подскажите пожалуйста, как загрузить на FTP-сервер при помощи ftplib папку с файлами? С загрузкой отдельных файлов...

Создать папку на FTP
Здравствуйте. Скажите пожалуйста, с помощью чего можно создать директорию на FTP сервере? Желательно с примером. Спасибо.

Отправить папку на FTP сервер
Всем привет, есть такой вопрос, как можно отправить папку на FTP сервер. Обычные файлы я передавал с помощью ftp.put, но как можно...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru