PhiO: Object-oriented filesystem library for PHP
- Consistent & clear API
- Encapsulates bothersome
- Less typing, but also readable
- Well tested & documented
📘 See the complete documentation
Install
Install via Composer.
composer require amekusa/phio
Examples
Assumed directory structure:
/
└── srv
└── http
├── favicon.svg
├── index.html
├── script.js
└── style.css
Iterate over files in a directory
use amekusa\phio\Directory;
$dir = new Directory('/srv/http');
foreach ($dir as $file) {
echo $file->getPath() . "\n";
}
This code results:
/srv/http/favicon.svg
/srv/http/index.html
/srv/http/script.js
/srv/http/style.css
Filter files
use amekusa\phio\Directory;
use amekusa\phio\Filter;
$dir = new Directory('/srv/http');
$dir->addFilter(new Filter('s*.*s'));
foreach ($dir as $file) {
echo $file->getPath() . "\n";
}
This code results:
/srv/http/script.js
/srv/http/style.css
You can also use regular expression like this:
use amekusa\phio\Directory;
use amekusa\phio\RegexFilter;
$dir = new Directory('/srv/http');
$dir->addFilter(new RegexFilter('/\.[a-z]{3}$/'));
foreach ($dir as $file) {
echo $file->getPath() . "\n";
}
This code results:
/srv/http/favicon.svg
/srv/http/style.css