$files->rmdir() method

Remove a directory and optionally everything within it (recursively)

Unlike PHP's rmdir() function, this method provides a recursive option, which can be enabled by specifying true for the $recursive argument. You should be careful with this option, as it can easily wipe out an entire directory tree in a flash.

Note that the $options argument was added in 3.0.118.

Example

// Remove directory /site/assets/cache/foo-bar/ and everything in it
$files->rmdir($config->paths->cache . 'foo-bar/', true);

// Remove directory after ensuring $pathname is somewhere within /site/assets/
$files->rmdir($pathname, true, [ 'limitPath' => $config->paths->assets ]); 

Usage

// basic usage
$bool = $files->rmdir(string $path);

// usage with all arguments
$bool = $files->rmdir(string $path, bool $recursive = false, $options = []);

Arguments

NameType(s)Description
pathstring

Path/directory you want to remove

recursive (optional)bool

If set to true, all files and directories in $path will be recursively removed as well (default=false).

options (optional)array, bool, string

Optional settings to adjust behavior or (bool|string) for limitPath option:

  • limitPath (string|bool|array): Must be somewhere within given path, boolean true for site assets, or false to disable (default=false).
  • throw (bool): Throw verbose WireException (rather than return false) when potentially consequential fail (default=false).

Return value

bool

True on success, false on failure


$files methods and properties

API reference based on ProcessWire core version 3.0.236

Latest news

  • ProcessWire Weekly #518
    The 518th issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!
    Weekly.pw / 13 April 2024
  • ProFields Table Field with Actions support
    This week we have some updates for the ProFields table field (FieldtypeTable). These updates are primarily focused on adding new tools for the editor to facilitate input and management of content in a table field.
    Blog / 12 April 2024
  • Subscribe to weekly ProcessWire news

“Indeed, if ProcessWire can be considered as a CMS in its own right, it also offers all the advantages of a CMF (Content Management Framework). Unlike other solutions, the programmer is not forced to follow the proposed model and can integrate his/her ways of doing things.” —Guy Verville, Spiria Digital Inc.