$files->tempDir() method

Return a new temporary directory/path ready to use for files

  • The temporary directory will be automatically removed at the end of the request.
  • Temporary directories are not http accessible.
  • If you call this with the same non-empty $name argument more than once in the same request, the same WireTempDir instance will be returned.


$tempDir = $files->tempDir(); 
$path = $tempDir->get();
file_put_contents($path . 'some-file.txt', 'Hello world'); 


// basic usage
$wireTempDir = $files->tempDir();

// usage with all arguments
$wireTempDir = $files->tempDir($name = '', $options = []);


name (optional)Object, string

Any one of the following: (default='')

  • Omit this argument for auto-generated name, 3.0.178+
  • Name/word that you specify using fieldName format, i.e. [_a-zA-Z0-9].
  • Object instance that needs the temp dir.
options (optional)array, int

Deprecated argument. Call WireTempDir methods if you need more options.

Return value


Returns a WireTempDir instance. If you typecast return value to a string, it is the temp dir path (with trailing slash).

$files methods and properties

API reference based on ProcessWire core version 3.0.228

Latest news

  • ProcessWire Weekly #490
    In the 490th issue of ProcessWire Weekly we'll check out what's new in the latest core version ProcessWire 3.0.229, introduce a brand-new third party module, and more. Read on!
    Weekly.pw / 30 September 2023
  • ProcessWire 3.0.226 new main/master version
    After 8 months in development we are excited to bring you ProcessWire 3.0.226 main/master. This version has a ton of great new features, improvements and optimizations, plus more than 100 issue fixes. This post takes an in-depth look at highlights from this great new version.
    Blog / 25 August 2023
  • Subscribe to weekly ProcessWire news

“We chose ProcessWire because of its excellent architecture, modular extensibility and the internal API. The CMS offers the necessary flexibility and performance for such a complex website like superbude.de. ProcessWire offers options that are only available for larger systems, such as Drupal, and allows a much slimmer development process.” —xport communication GmbH