[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как сделать функцию рекурсивного обхода вложенных
Владимир55
Имеется группа директорий, вложенных одна в другую, причем возможно ветвление, когда из каких-то директорий начинаются две и более ветвей.
Вот пример структуры:

Каталог
Каталог/Wova
Каталог/Wova/Форд
Каталог/Wova/Форд/Купе
Каталог/Wova/Форд/Купе/4 двери
Каталог/Wova/Форд/Купе/двудверный
Каталог/Wova/Форд/седан
Каталог/Wova/Форд/седан/4 двери
Каталог/Wova/Форд/седан/5 дверей


В каждой директории лежит файл data.txt, в котором записано некое число.

Требуется для каждой директории подсчитать сумму чисел, записанных в лежащих в них файлах data.txt (включая те, что находятся во вложенных папках).

Применительно для данного примера это выглядит так:
- для директории «Каталог» сумму вообще из всех файлов;
- для директории «Каталог/Wova» сумму из файлов в директориях Каталог/Wova, Каталог/Wova/Форд, Каталог/Wova/Форд/Купе, Каталог/Wova/Форд/Купе/4 двери, Каталог/Wova/Форд/Купе/двудверный, Каталог/Wova/Форд/седан, Каталог/Wova/Форд/седан/4 двери, Каталог/Wova/Форд/седан/5 дверей;
- для директории «Каталог/Wova/Форд» сумму из файлов Каталог/Wova/Форд, Каталог/Wova/Форд/Купе, Каталог/Wova/Форд/Купе/4 двери, Каталог/Wova/Форд/Купе/двудверный, Каталог/Wova/Форд/седан, Каталог/Wova/Форд/седан/4 двери, Каталог/Wova/Форд/седан/5 дверей;
- для директории «Каталог/Wova/Форд/Купе» сумму из файлов Каталог/Wova/Форд/Купе,
Каталог/Wova/Форд/Купе/4 двери, Каталог/Wova/Форд/Купе/двудверный;
- для директории «Каталог/Wova/Форд/Купе/4 двери» только из самого этого каталога;
- для директории «Каталог/Wova/Форд/Купе/двудверный» только из самого этого каталога;
- для директории «Каталог/Wova/Форд/седан» сумму из файлов в Каталог/Wova/Форд/седан, Каталог/Wova/Форд/седан/4 двери и Каталог/Wova/Форд/седан/5 дверей;
- для директории «Каталог/Wova/Форд/седан/4 двери» только из самого этого каталога;
- для директории «Каталог/Wova/Форд/седан/5 дверей»только из самого этого каталога.

Хочется прежде всего понять, имеет ли такая задача решение в принципе?

А если решение имеет, то как это сделать, каким конкретно кодом?
vagrand
Я вам уже сказал как эту задачу в принципе правильно решить.

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Игорь_Vasinsky
Цитата
Хочется прежде всего понять, имеет ли такая задача решение в принципе?

это большая глупость создавать директории в директориях тем самы строить архитектуру приложения.

для этого используют таблицу в БД с категориями + url GET + ЧПУ mod_rewrite




_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.