$files->mkdir() method

Create a directory that is writable to ProcessWire and uses the defined $config chmod settings

Unlike PHP's mkdir() function, this function manages the read/write mode consistent with ProcessWire's setting $config->chmodDir, and it can create directories recursively. Meaning, if you want to create directory /a/b/c/ and directory /a/ doesn't yet exist, this method will take care of creating /a/, /a/b/, and /a/b/c/.

The $recursive and $chmod arguments may optionally be swapped (since 3.0.34).

Example

// Create a new directory in ProcessWire's cache dir
if($files->mkdir($config->paths->cache . 'foo-bar/')) {
  // directory created: /site/assets/cache/foo-bar/
}

Usage

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

// usage with all arguments
$bool = $files->mkdir(string $path, $recursive = false, $chmod = null);

Arguments

NameType(s)Description
pathstring

Directory you want to create

recursive (optional)bool, string

If set to true, all directories will be created as needed to reach the end.

chmod (optional)string, null, bool

Optional mode to set directory to (default: $config->chmodDir), format must be a string i.e. "0755" If omitted, then ProcessWire's $config->chmodDir setting is used instead.

Return value

bool

True on success, false on failure


$files methods and properties

API reference based on ProcessWire core version 3.0.200

Twitter updates

  • Weekly update for July 22– Looking back at what web development was like in the year 2000. Plus some more discussion on the path from CKEditor 4 to CkEditor 5 in ProcessWire: More
    22 July 2022
  • ProcessWire 3.0.203 core updates: new support for custom fields on comments and more— More
    15 July 2022
  • New blog: Debugging tools built-in to ProcessWire. ProcessWire's core comes with a lot of helpful debugging tools and capabilities built-in. In this post we'll cover some of these useful tools and how to use them… More
    1 July 2022

Latest news

  • ProcessWire Weekly #428
    In the 428th issue of ProcessWire Weekly we'll take a quick dive into the weekly update from Ryan, introduce a couple of brand new third party modules, and more. Read on!
    Weekly.pw / 23 July 2022
  • Debugging tools built into ProcessWire
    ProcessWire's core comes with a lot of helpful debugging tools and capabilities built-in. In this post we'll cover some of these useful tools and how to use them.
    Blog / 1 July 2022
  • Subscribe to weekly ProcessWire news

I just love the easy and intuitive ProcessWire API. ProcessWire rocks!” —Jens Martsch, Web developer