public function File::move

Moves the file to a new location.

@api

Parameters

string $directory The destination folder:

string $name The new file name:

Return value

File A File object representing the new file

Throws

FileException if the target file could not be created

1 call to File::move()
UploadedFile::move in drupal/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/UploadedFile.php
Moves the file to a new location.
1 method overrides File::move()
UploadedFile::move in drupal/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/UploadedFile.php
Moves the file to a new location.

File

drupal/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/File.php, line 108

Class

File
A file in the file system.

Namespace

Symfony\Component\HttpFoundation\File

Code

public function move($directory, $name = null) {
  if (!is_dir($directory)) {
    if (false === @mkdir($directory, 0777, true)) {
      throw new FileException(sprintf('Unable to create the "%s" directory', $directory));
    }
  }
  elseif (!is_writable($directory)) {
    throw new FileException(sprintf('Unable to write in the "%s" directory', $directory));
  }
  $target = $directory . DIRECTORY_SEPARATOR . (null === $name ? $this
    ->getBasename() : basename($name));
  if (!@rename($this
    ->getPathname(), $target)) {
    $error = error_get_last();
    throw new FileException(sprintf('Could not move the file "%s" to "%s" (%s)', $this
      ->getPathname(), $target, strip_tags($error['message'])));
  }
  @chmod($target, 0666 & ~umask());
  return new File($target);
}