popphp/pop-dir

Pop Directory Component for Pop PHP Framework

4.0.0 2023-11-09 04:39 UTC

This package is auto-updated.

Last update: 2024-11-19 03:43:09 UTC


README

Build Status Coverage Status

Join the chat at https://popphp.slack.com Join the chat at https://discord.gg/TZjgT74U7E

Overview

pop-dir is a component for easily traversing files and subdirectories within a directory.

It is a component of the Pop PHP Framework.

Top

Install

Install pop-dir using Composer.

composer require popphp/pop-dir

Or, require it in your composer.json file

"require": {
    "popphp/pop-dir" : "^4.0.0"
}

Top

Quickstart

Traversing a directory
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;
}

Top

Options

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`

Top

Empty

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);

Top