function FileRepositoryInterface::move

Same name in other branches
  1. 9 core/modules/file/src/FileRepositoryInterface.php \Drupal\file\FileRepositoryInterface::move()
  2. 11.x core/modules/file/src/FileRepositoryInterface.php \Drupal\file\FileRepositoryInterface::move()

Moves a file to a new location and update the file's database entry.

  • Checks if $source and $destination are valid and readable/writable.
  • Performs a file move if $source is not equal to $destination.
  • If file already exists in $destination either the call will error out, replace the file or rename the file based on the $replace parameter.
  • Adds the new file to the files database.

Parameters

\Drupal\file\FileInterface $source: A file entity.

string $destination: A string containing the destination that $source should be moved to. This must be a stream wrapper URI.

\Drupal\Core\File\FileExists|int $fileExists: (optional) The replace behavior when the destination file already exists.

Return value

\Drupal\file\FileInterface The file entity.

Throws

\Drupal\Core\File\Exception\FileException Thrown when there is an error writing to the file system.

\Drupal\Core\File\Exception\FileExistsException Thrown when the destination exists and $replace is set to FileExists::Error.

\Drupal\Core\File\Exception\InvalidStreamWrapperException Thrown when the destination is an invalid stream wrapper.

\Drupal\Core\Entity\EntityStorageException Thrown when there is an error saving the file.

See also

\Drupal\Core\File\FileSystemInterface::move()

hook_file_move()

File

core/modules/file/src/FileRepositoryInterface.php, line 116

Class

FileRepositoryInterface
Performs file system operations and updates database records accordingly.

Namespace

Drupal\file

Code

public function move(FileInterface $source, string $destination, FileExists|int $fileExists = FileExists::Rename) : FileInterface;

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.