public function FileSystem::tempnam

public FileSystem::tempnam($directory, $prefix)

Creates a file with a unique filename in the specified directory.

PHP's tempnam() does not return a URI like we want. This function will return a URI if given a URI, or it will return a filepath if given a filepath.

Compatibility: normal paths and stream wrappers.

Parameters

string $directory: The directory where the temporary filename will be created.

string $prefix: The prefix of the generated temporary filename. Note: Windows uses only the first three characters of prefix.

Return value

string|bool The new temporary filename, or FALSE on failure.

Overrides FileSystemInterface::tempnam

See also

tempnam()

https://www.drupal.org/node/515192

File

core/lib/Drupal/Core/File/FileSystem.php, line 261

Class

FileSystem
Provides helpers to operate on files and stream wrappers.

Namespace

Drupal\Core\File

Code

public function tempnam($directory, $prefix) {
  $scheme = $this->uriScheme($directory);

  if ($this->validScheme($scheme)) {
    $wrapper = $this->streamWrapperManager->getViaScheme($scheme);

    if ($filename = tempnam($wrapper->getDirectoryPath(), $prefix)) {
      return $scheme . '://' . static::basename($filename);
    }
    else {
      return FALSE;
    }
  }
  else {
    // Handle as a normal tempnam() call.
    return tempnam($directory, $prefix);
  }
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!File!FileSystem.php/function/FileSystem::tempnam/8.1.x