PHPackages                             metapraxis/wp-file-system - 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. [File &amp; Storage](/categories/file-storage)
4. /
5. metapraxis/wp-file-system

ActiveWordpress-plugin[File &amp; Storage](/categories/file-storage)

metapraxis/wp-file-system
=========================

A safe and convenient object-oriented wrapper for the WordPress Filesystem API

0.0.1(8mo ago)711GPL-2.0-or-laterPHPPHP ^7.4 || ^8.0CI passing

Since Sep 20Pushed 8mo agoCompare

[ Source](https://github.com/method-hub/wp-file-system)[ Packagist](https://packagist.org/packages/metapraxis/wp-file-system)[ Docs](https://github.com/method-hub/wp-file-system)[ RSS](/packages/metapraxis-wp-file-system/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (8)Versions (2)Used By (0)

[![CI/CD Pipeline](https://github.com/method-hub/wp-file-system/actions/workflows/main.yml/badge.svg)](https://github.com/method-hub/wp-file-system/actions/workflows/main.yml)[![Code Coverage](https://camo.githubusercontent.com/bc660c7a98f99e69aab5d734c5f66414ced4e329e378de0926d56e0f1f114c52/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f7665726167652d5442442d6c6967687467726579)](https://github.com/method-hub/wp-file-system)[![Plugin Version](https://camo.githubusercontent.com/079f3a5ca8ba083e505eea6145721b19012d3b9275dea672650bfb417e20d607/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f76657273696f6e2d302e302e312d626c7565)](https://camo.githubusercontent.com/079f3a5ca8ba083e505eea6145721b19012d3b9275dea672650bfb417e20d607/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f76657273696f6e2d302e302e312d626c7565)[![PHP Version](https://camo.githubusercontent.com/291fb48c27888cb58d3daa496237532ea2d0bdd51a933f0a7a4262e9d87b7304/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344372e342d3838393242462e737667)](https://camo.githubusercontent.com/291fb48c27888cb58d3daa496237532ea2d0bdd51a933f0a7a4262e9d87b7304/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344372e342d3838393242462e737667)[![License: MIT](https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)](https://opensource.org/licenses/MIT)

 [![Plugin Logo](.github/logo/wp-file-system.png)](.github/logo/wp-file-system.png)

*A user-friendly, object-oriented wrapper for the native WordPress Filesystem API. Ensures reliable and portable file operations, fully compliant with WordPress core principles*.

WP File System
==============

[](#wp-file-system)

`WP File System` is a plugin library created for the entire WordPress developer community. It is indispensable not only for plugin and theme authors but also for technical specialists involved in deploying, maintaining, and customizing sites, as well as for anyone who actively works with the WordPress filesystem during development.

Its philosophy is to solve one of the most common and complex problems in the WordPress ecosystem: **reliable and secure file operations.** This problem has two aspects:

1. **Direct use of PHP functions:** Functions like `file_put_contents`, `mkdir`, or `unlink` are a source of instability. Code written with them becomes brittle and environment-dependent, often leading to fatal errors due to incorrect file permissions or specific hosting security configurations.
2. **Using third-party libraries:** Many developers try to solve this issue by integrating popular packages like `symfony/filesystem` or Laravel components. Despite their high quality, they become a "foreign element" in the WordPress context. These libraries are **unaware of the WordPress Filesystem API's existence**. They bypass the built-in WordPress mechanisms, ignoring the required file access method (`direct`, `ftp`, `ssh2`) that WordPress selects to ensure security and server compatibility. This leads to the same permission issues and makes secure interaction with the WordPress core—for example, during extension installation or updates—impossible.

`WP File System` solves both of these problems. It provides a simple, unified, and object-oriented interface that serves as a convenient wrapper for the native `WP_Filesystem` API. The library handles all the complexity: it automatically initializes the filesystem, determines the correct access method, manages credentials, and ensures proper permissions are set, freeing the developer from this headache.

Using `WP File System` ensures that your code will be reliable, secure, and truly portable across different hosting environments, as it operates **in full compliance with the principles and mechanisms of the WordPress core.**

Getting started
---------------

[](#getting-started)

To get started with the library and explore its features, please refer to our documentation. There you will find a detailed guide on installation, configuration, and usage examples.

- [**Documentation in Russian**](./.github/documentation/ru/README.md)
- [**Documentation in English**](./.github/documentation/en/README.md)

Contributing
------------

[](#contributing)

We welcome and appreciate community contributions to the project's development. If you would like to help with development, suggest new ideas, report a bug, or improve the documentation, please review our contribution guide.

- [**Contribution Guide (RU)**](./.github/documentation/ru/CONTRIBUTING.md)
- [**Contribution Guide (EN)**](./.github/documentation/en/CONTRIBUTING.md)

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance62

Regular maintenance activity

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity30

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% 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

Unknown

Total

1

Last Release

241d ago

### Community

Maintainers

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

---

Top Contributors

[![DenisLopatin](https://avatars.githubusercontent.com/u/58611339?v=4)](https://github.com/DenisLopatin "DenisLopatin (3 commits)")

---

Tags

filesystemfilesystem-apifilesystem-libraryfswordpresswordpress-pluginwp-filesystemfilesystemwordpressfilesuploadswp-filesystem

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/metapraxis-wp-file-system/health.svg)

```
[![Health](https://phpackages.com/badges/metapraxis-wp-file-system/health.svg)](https://phpackages.com/packages/metapraxis-wp-file-system)
```

###  Alternatives

[league/flysystem

File storage abstraction for PHP

13.6k639.1M2.2k](/packages/league-flysystem)[league/flysystem-aws-s3-v3

AWS S3 filesystem adapter for Flysystem.

1.6k263.6M790](/packages/league-flysystem-aws-s3-v3)[league/flysystem-local

Local filesystem adapter for Flysystem.

225231.8M39](/packages/league-flysystem-local)[league/flysystem-memory

In-memory filesystem adapter for Flysystem.

8533.6M194](/packages/league-flysystem-memory)[creocoder/yii2-flysystem

The flysystem extension for the Yii framework

2931.7M62](/packages/creocoder-yii2-flysystem)[league/flysystem-sftp-v3

SFTP filesystem adapter for Flysystem.

6129.6M91](/packages/league-flysystem-sftp-v3)

PHPackages © 2026

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