PHPackages                             web-vision/wv\_file\_cleanup - 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. web-vision/wv\_file\_cleanup

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

web-vision/wv\_file\_cleanup
============================

Enables cleanup of unused fal records.

2.0.1(2y ago)212.6k↓35.8%14[5 issues](https://github.com/web-vision/wv_file_cleanup/issues)[1 PRs](https://github.com/web-vision/wv_file_cleanup/pulls)GPL-3.0+PHPPHP &gt;=7.4 || &gt;= 8.0CI failing

Since Oct 24Pushed 6mo ago9 watchersCompare

[ Source](https://github.com/web-vision/wv_file_cleanup)[ Packagist](https://packagist.org/packages/web-vision/wv_file_cleanup)[ Docs](https://web-vision.de)[ RSS](/packages/web-vision-wv-file-cleanup/feed)WikiDiscussions master Synced today

READMEChangelog (4)Dependencies (5)Versions (4)Used By (0)

About
=====

[](#about)

German:

Die TYPO3 Extension “FAL File Cleanup” bietet eine einfache Möglichkeit, unbenutzte Dateien im TYPO3 System zu identifizieren und automatisch aufzuräumen. Ein TYPO3 Scheduler Task führt dabei regelmäßig Prüfungen im System durch, und gleich die verlinkten Dateien (Dateireferenzen) mit den vorhandenen Dateien im Fileadmin von TYPO3 ab. Auf Wunsch können diese regelmäßigen Prüfungen auch auf bestimmte Datei-Endungen beschränkt werden. Sind Dateien identifiziert, welche keine Verlinkung in Inhalten des TYPO3 System besitzen, können diese wahlweise direkt gelöscht, zuerst in einen Papierkorb verschoben und nach definierbaren Intervallen (z.B. nach 30 Tagen) verspätet gelöscht werden.

---

English:

The TYPO3 extension "FAL File Cleanup" offers an easy way to identify and automatically clean up unused files in the TYPO3 system. A TYPO3 scheduler task carries out regular checks in the system and compares the linked files (file references) with the existing files in the TYPO3 file admin. If desired, these regular checks can also be limited to certain file endings. If files are identified which do not have a link in the TYPO3 system content, they can be deleted directly, moved to a recycle bin first and deleted after definable intervals (e.g. after 30 days).

How to use
==========

[](#how-to-use)

After installing ext:wv\_file\_cleanup a new BE module appears under "File".

Also, the symfony commands `wv_file_cleanup:cleanup` and `wv_file_cleanup:emptyrecycler` will be available.

Example of using the command controllers::

```
./typo3/sysext/core/bin/typo3 wv_file_cleanup:cleanup 1:/ -r --verbose
./typo3/sysext/core/bin/typo3 wv_file_cleanup:emptyrecycler 1:/ -a 1month --verbose

```

It is recommended to use the commands in a CLI context, but they can also be setup in the *scheduler* as scheduler tasks.

Options
-------

[](#options)

You can configure an fileNameDenyPattern that holds a regular expression that is used to check the filename against. If the pattern matches the file is excluded from the cleanup and also not visible in het BE module.

Default value is `/index.html/i` so all `index.html` files are excluded and can be adjusted in the extension configuration (see extension manager).

The value can also be overwritten in the command controller (and scheduler task).

Examples
--------

[](#examples)

To only match `*.pdf` files you can set the fileNameDenyPattern to `/^(?!.*\b.pdf\b)/`

Can be tested by executing this from CLI:

```
./typo3/sysext/core/bin/typo3 wv_file_cleanup:cleanup 1:/ --verbose --dry-run --file-deny-pattern='/^(?!.*\b.pdf\b)/'

```

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance27

Infrequent updates — may be unmaintained

Popularity31

Limited adoption so far

Community23

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor3

3 contributors hold 50%+ of commits

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 ~850 days

Total

3

Last Release

744d ago

Major Versions

1.0.1 → 2.0.12024-06-19

### Community

Maintainers

![](https://www.gravatar.com/avatar/d181bb4173be1b70cabf0b41497a7cabecdccc5966c8000e40b12ce8b7a5ebac?d=identicon)[web-vision](/maintainers/web-vision)

---

Top Contributors

[![sbuerk](https://avatars.githubusercontent.com/u/1453466?v=4)](https://github.com/sbuerk "sbuerk (21 commits)")[![calien666](https://avatars.githubusercontent.com/u/11405116?v=4)](https://github.com/calien666 "calien666 (15 commits)")[![frans-beech-it](https://avatars.githubusercontent.com/u/4436635?v=4)](https://github.com/frans-beech-it "frans-beech-it (13 commits)")[![Riiiad](https://avatars.githubusercontent.com/u/20195182?v=4)](https://github.com/Riiiad "Riiiad (9 commits)")[![derhansen](https://avatars.githubusercontent.com/u/2629896?v=4)](https://github.com/derhansen "derhansen (7 commits)")[![DavidBruchmann](https://avatars.githubusercontent.com/u/999146?v=4)](https://github.com/DavidBruchmann "DavidBruchmann (4 commits)")[![rickymathewkweb](https://avatars.githubusercontent.com/u/59689479?v=4)](https://github.com/rickymathewkweb "rickymathewkweb (4 commits)")[![borishinzer](https://avatars.githubusercontent.com/u/10340538?v=4)](https://github.com/borishinzer "borishinzer (4 commits)")[![Andreas-Sommer](https://avatars.githubusercontent.com/u/30976558?v=4)](https://github.com/Andreas-Sommer "Andreas-Sommer (1 commits)")[![georgringer](https://avatars.githubusercontent.com/u/1905663?v=4)](https://github.com/georgringer "georgringer (1 commits)")[![hannesbochmann](https://avatars.githubusercontent.com/u/6302628?v=4)](https://github.com/hannesbochmann "hannesbochmann (1 commits)")

###  Code Quality

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/web-vision-wv-file-cleanup/health.svg)

```
[![Health](https://phpackages.com/badges/web-vision-wv-file-cleanup/health.svg)](https://phpackages.com/packages/web-vision-wv-file-cleanup)
```

###  Alternatives

[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103519.9k53](/packages/friendsoftypo3-content-blocks)[wazum/sluggi

TYPO3 extension for URL slug management with inline editing, auto-sync, locking, access control, and redirects

40529.5k](/packages/wazum-sluggi)[typo3/cms-scheduler

TYPO3 CMS Scheduler - Schedule tasks to run once or periodically at a specific time.

169.3M231](/packages/typo3-cms-scheduler)[typo3/cms-lowlevel

TYPO3 CMS Lowlevel - Technical analysis of the system. This includes raw database search, checking relations, counting pages and records etc.

178.2M316](/packages/typo3-cms-lowlevel)[typo3/cms-redirects

TYPO3 CMS Redirects - Create manual redirects, list existing redirects and automatically createredirects on slug changes.

167.4M80](/packages/typo3-cms-redirects)[typo3/cms-form

TYPO3 CMS Form - Flexible TYPO3 frontend form framework that comes with a backend editor interface.

147.6M265](/packages/typo3-cms-form)

PHPackages © 2026

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