PHPackages                             dr10s/directory-tree - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. dr10s/directory-tree

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

dr10s/directory-tree
====================

This class can create and read directories by tree methodology

v0.1.1(4y ago)012GPL-3.0-onlyPHPPHP &gt;=7.3

Since Mar 26Pushed 4y ago1 watchersCompare

[ Source](https://github.com/Dr10s/DirectoryTree)[ Packagist](https://packagist.org/packages/dr10s/directory-tree)[ RSS](/packages/dr10s-directory-tree/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)DependenciesVersions (3)Used By (0)

DirectoryTree
=============

[](#directorytree)

В очень многих проектах мне доводилось увидеть, что их разработчики относились небрежно к хранению файлов, что достовляло очень много проблем когда клиентская база проектов увеличивалась. Да даже 500к файлов хватит для того что бы заставить ОС поднапрячся для чтения директории.

Данный пакет успешно решает проблему хранения файлов в древовидной структуре директорий.

### Example:

[](#example)

```
 $directoryTree = new DirectoryTree('./Files');
 $fileHash = md5('file_name'.microtime());
 $fileExtension = 'txt';
 $directory = $directoryTree->addDirectoryForFile($fileHash, $fileExtension);

 file_put_contents(
     sprintf('%s/%s.%s', $directory, $fileHash, $fileExtension),
     ''
   );

```

```
 $directoryTree = new DirectoryTree('./Files');
 $fileHash = md5('file_name'.microtime());
 $directory = $directoryTree->findDirectoryWithFile($fileHash, 'txt');

```

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 Bus Factor1

Top contributor holds 92.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~79 days

Total

2

Last Release

1798d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9c6b39867b32b784130fb3517c302a2d45969b41bf6cbb70bcb30b8aa8560070?d=identicon)[Dr10s](/maintainers/Dr10s)

---

Top Contributors

[![Dr10s](https://avatars.githubusercontent.com/u/38479120?v=4)](https://github.com/Dr10s "Dr10s (13 commits)")[![ValentinDk](https://avatars.githubusercontent.com/u/41744450?v=4)](https://github.com/ValentinDk "ValentinDk (1 commits)")

### Embed Badge

![Health badge](/badges/dr10s-directory-tree/health.svg)

```
[![Health](https://phpackages.com/badges/dr10s-directory-tree/health.svg)](https://phpackages.com/packages/dr10s-directory-tree)
```

###  Alternatives

[symfony/thanks

Encourages sending ⭐ and 💵 to fellow PHP package maintainers (not limited to Symfony components)!

8.1k15.9M270](/packages/symfony-thanks)[ethanyehuda/magento2-cronjobmanager

A module for managing scheduled cron jobs from magento's admin panel

3632.5M1](/packages/ethanyehuda-magento2-cronjobmanager)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
