pop-dir
is a component for easily traversing files and subdirectories within a directory.
It is a component of the Pop PHP Framework.
Install pop-dir
using Composer.
composer require popphp/pop-dir
Or, require it in your composer.json file
"require": {
"popphp/pop-dir" : "^4.0.1"
}
use Pop\Dir\Dir;
$dir = new Dir('my-dir');
foreach ($dir->getFiles() as $file) {
echo $file;
}
If you want to traverse the directory recursively and get the full path of each file.
use Pop\Dir\Dir;
$dir = new Dir('my-dir', [
'absolute' => true,
'recursive' => true
]);
foreach ($dir->getFiles() as $file) {
echo $file;
}
The available boolean options for the $options
array parameter are:
$options = [
'absolute' => true, // store the absolute, full path of the items in the directory
'relative' => false // store the relative path of the items in the directory
'recursive' => true, // traverse the directory recursively
'filesOnly' => false, // store only files in the object (and not other directories)
];
The absolute
and relative
options cannot be used together.
If absolute
is set to true
, it will return the absolute path of the files and directories:
'/home/path/file1.txt`
'/home/path/file2.txt`
If relative
is set to true
, it will return the relative path of the files and directories:
'path/file1.txt`
'path/file2.txt`
If neither are passed, it will return only the base file names and directory names:
'file1.txt`
'file2.txt`
The directory can be emptied with the emptyDir()
method:
use Pop\Dir\Dir;
$dir = new Dir('my-dir');
$dir->emptyDir();
The true
flag will remove the actual directory as well (use with caution):
$dir->emptyDir(true);