Вот сделка. У меня есть «дерево» или «поддерево», в котором я хочу перемещаться и удалять каждый элемент. Каждый «узел» может содержать ссылки на другие узлы под ним (без проблем) ИЛИ может содержать ссылки ВНЕ этого отдельного «дерева»,/"поддерево". Как создать функцию, которая удаляет только «внутри» указанного дерева?Создание рекурсивной функции удаления (в php)
ответ
вам нужно RecursiveIterator
Ссылка может быть полезна, но некоторое краткое объяснение сделает ответ более актуальным. – slashingweapon
Вы должны использовать realpath()
:
function DeleteTree($path)
{
if (is_dir($path) === true)
{
$path = realpath($path);
$files = array_diff(scandir($path), array('.', '..'));
foreach ($files as $file)
{
$file = realpath($path . '/' . $file);
// file is within tree
if (substr($file, 0, strlen($path)) == $path)
{
DeleteTree($file);
}
}
return rmdir($path);
}
else if (is_file($path) === true)
{
return unlink($path);
}
return false;
}
выше должен делать то, что вы ищете.
Ох ... Я просто понял, что это не может быть связано с файловой системой ... Ошибка - это все! : P
Это то же самое рекурсивное удаление, с которым вы привыкли. Вам просто нужно, чтобы ваши ссылки были разделены - один список для ссылок в дереве, один для ссылок из дерева. Кроме того, вы можете иметь флаг, который отслеживает состояние дерева в дереве/вне дерева для каждой ссылки, но при создании ссылки вам придется различать.
- 1. Рекурсивной функции удаления вхождения в списке питоне
- 2. Создание потока внутри рекурсивной функции
- 3. Проблема рекурсивной функции PHP?
- 4. Создание рекурсивной двоичной децимальной функции
- 5. Возврат в рекурсивной функции php
- 6. Создание рекурсивной функции в php для переструктурирования набора записей?
- 7. Создание экземпляра класса внутри рекурсивной функции в PHP
- 8. Создание хвостовой рекурсивной функции питания в схеме
- 9. Создание итеративной функции вместо рекурсивной в python
- 10. Создание рекурсивной функции в Python 3
- 11. Создание массива из рекурсивной функции в codeigniter
- 12. Создание структурированного массива с помощью рекурсивной функции
- 13. Ошибка вызова рекурсивной функции PHP
- 14. Возвращаемое значение рекурсивной функции PHP
- 15. Обратные результаты рекурсивной функции php
- 16. Создание рекурсивной функции для числовой последовательности
- 17. Создание рекуррентного уравнения простой рекурсивной функции
- 18. иерархия concat tree в рекурсивной функции PHP
- 19. PHP: утечка памяти в рекурсивной функции
- 20. php получить первичные числа в рекурсивной функции
- 21. Приращение в рекурсивной функции
- 22. Сумма в рекурсивной функции
- 23. Выход в рекурсивной функции
- 24. Ошибка в рекурсивной функции
- 25. Segfault в рекурсивной функции
- 26. Array в рекурсивной функции
- 27. Mallocing в рекурсивной функции
- 28. рекурсивной функции в MATLAB
- 29. Списки в рекурсивной функции
- 30. Счетчик в рекурсивной функции
вы можете указать пример структуры и желаемого результата – Gordon
пахнет домашней работой ... –
Приведите пример своего «дерева» и как должно работать удаление. – salathe