painless-php / filesystem
Filesystem helper functionality
dev-master
2025-05-17 12:14 UTC
Requires
- php: >=8.1
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: ^10.1
- spatie/phpunit-watcher: ^1.22
- vlucas/phpdotenv: ^v5.5.0
This package is auto-updated.
Last update: 2026-03-17 13:47:18 UTC
README
Filesystem helper functionality for PHP.
Installation
composer require painless-php/filesystem
Public API
Core
- Filesystem
- FilesystemObject
- File
- Directory
- DirectoryIteratorConfig
Exception
- FilesystemException
- FileNotFoundException
- FilesystemPermissionException
Interface
- FilesystemFilter
- DirectoryContentIterator
Usage examples
Reading directory contents
// with iterator
$iterator = Directory::createFromPath($path)->getIterator(
recursive: true,
config: new DirectoryIteratorConfig(
resultFilters: [
fn(FilesystemObject $file) => $file->getExtension() === 'php'
]
)
);
// loop over iterator items
foreach($iterator as FileObject $file) {
var_dump($file);
}
// turn iterator into array
$array = $iterator->toArray();
// with getContents
$files = Directory::createFromPath($path)->getContents(
recursive: true,
config: new DirectoryIteratorConfig(
resultFilters: [
fn(FilesystemObject $file) => $file->getExtension() === 'php'
]
)
);
Notes
- isRoot() will probably not work on windows (as well as functions that rely on it like findUpwards)
DirectoryContentIterator structure
- DirectoryContentIterator (FilterIterator)
- RecursiveIteratorIterator
- RecursiveFilterIterator
- RecursiveDirectoryIterator