micropackage / filesystem
Wrapper for WordPress' Filesystem for easier file manipulations.
Installs: 54 229
Dependents: 3
Suggesters: 0
Security: 0
Stars: 20
Watchers: 4
Forks: 5
Open Issues: 1
Requires
- php: >=5.6
Requires (Dev)
This package is auto-updated.
Last update: 2024-10-23 11:34:48 UTC
README
🧬 About Filesystem
This micropackage is a wrapper for WordPress filesystem intended to be used within the wp-content
directory.
Supports:
- plugins
- must-use plugins
- themes
- custom upload directories
- custom wp-content directories
This package will prefix all the relative paths to full paths giving a convinient way to manipulate files.
💾 Installation
composer require micropackage/filesystem
🕹 Usage
Initializing the Filesystem class from the main plugin/theme file. It just needs a base directory.
use Micropackage\Filesystem\Filesystem; $filesystem = new Filesystem( __DIR__ );
Using the micropackage to obtain full paths (plugin example).
echo $filesystem->path(); // /var/www/html/wp-content/plugins/my-plugin/ echo $filesystem->path( 'src/templates/full-width.php' ); // /var/www/html/wp-content/plugins/my-plugin/src/templates/full-width.php
Using the micropackage to obtain full URL (plugin example).
echo $filesystem->url(); // https://my.plugin/wp-content/plugins/my-plugin/ echo $filesystem->url( 'assets/images/logo.svg' ); // https://my.plugin/wp-content/plugins/my-plugin/assets/images/logo.svg
Convert image file to base64 URL.
printf( '<img src="%s">', $filesystem->image_to_base64( 'assets/images/logo.svg' ) ); // <img src="data:image/svg+xml;base64,m8q76v7wy4guiev...">
On top of that, you can use any method provided by WP_Filesystem class, which includes:
get_contents()
exists()
is_file()
,is_dir()
mkdir()
delete()
- ...
📦 About the Micropackage project
Micropackages - as the name suggests - are micro packages with a tiny bit of reusable code, helpful particularly in WordPress development.
The aim is to have multiple packages which can be put together to create something bigger by defining only the structure.
Micropackages are maintained by BracketSpace.
📖 Changelog
📃 License
This software is released under MIT license. See the LICENSE file for more information.