PHPackages                             tmkook/folder - 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. tmkook/folder

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

tmkook/folder
=============

folder handle

146PHP

Since Feb 6Pushed 9y ago1 watchersCompare

[ Source](https://github.com/tmkook/folder)[ Packagist](https://packagist.org/packages/tmkook/folder)[ RSS](/packages/tmkook-folder/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

安装
==

[](#安装)

在 composer.json 中添加

```
"require": {
    "tmkook/folder": "*"
}

```

使用
==

[](#使用)

### 打开文件夹

[](#打开文件夹)

```
$folder = new Tmkook\Folder;
$folder->open('./folder'); //打开 folder
$folder->entry('foo'); //进入 folder/foo
$folder->back(); //退回 folder

```

### 获取文件列表

[](#获取文件列表)

```
$folder->getName(); //返回当前文件夹名称
$folder->getDirectory(); //返回当前文件夹路径
$folder->getFiles(); //获取子文件
$folder->getSubFiles(); //递归获取子文件
$folder->getFolders(); //获取子文件夹
$folder->getSubFolders(); //递归获取子文件夹

```

### 操作文件夹

[](#操作文件夹)

```
$folder->create('newfolder'); //新建文件夹
$folder->remove('newfolder',true); //删除文件夹 true = rm -rf dir
$folder->rename('oldname','newname'); //重命名文件夹
$folder->move('oldname','../test/'); //移动文件夹

```

### 操作文件

[](#操作文件)

```
$folder->addFile('example.txt','test'); //添加文件
$folder->delFile('example.txt'); //删除文件
$folder->move('example.txt','../test/'); //移动文件

```

### 排序与文件信息

[](#排序与文件信息)

```
$files = $folder->getFiles();
$sort = new Tmkook\FolderInfo($files);
$files = $sort->orderByNameDesc()->get();
$files = $sort->setOrder('name','asc')->get();
//setOrder(mtime|ctime|atime|name,asc|desc);

```

### 异常

[](#异常)

```
try{
  ...
}catch(Tmkook\FolderException $e){
  $e->getMessage();
}

```

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/eb2a7f961a1471906467d8fcac8e1499f4e35e62edd39329c8057aed1fc3030b?d=identicon)[tmkook](/maintainers/tmkook)

### Embed Badge

![Health badge](/badges/tmkook-folder/health.svg)

```
[![Health](https://phpackages.com/badges/tmkook-folder/health.svg)](https://phpackages.com/packages/tmkook-folder)
```

###  Alternatives

[maize-tech/laravel-prunable-fields

Laravel Prunable Fields

411.6k](/packages/maize-tech-laravel-prunable-fields)[agence-adeliom/easy-editor-bundle

A Symfony bundle for EasyAdmin that provide a flexible content editor

1111.0k1](/packages/agence-adeliom-easy-editor-bundle)

PHPackages © 2026

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