Same name and namespace in other branches
  1. 8.9.x core/includes/file.inc \file_unmanaged_move()

Moves a file to a new location without database changes or hook invocation.

Parameters

$source: A string specifying the filepath or URI of the original file.

$destination: A string containing the destination that $source should be moved to. This must be a stream wrapper URI. If this value is omitted, Drupal's default files scheme will be used, usually "public://".

$replace: Replace behavior when the destination file already exists:

Return value

The URI of the moved file, or FALSE in the event of an error.

See also

file_move()

Related topics

7 calls to file_unmanaged_move()
FilePrivateTestCase::testPrivateFileDownloadAccessGranted in modules/file/tests/file.test
Tests file access for private nodes when file download access is granted.
FileUnmanagedMoveTest::testMissing in modules/simpletest/tests/file.test
Try to move a missing file.
FileUnmanagedMoveTest::testNormal in modules/simpletest/tests/file.test
Move a normal file.
FileUnmanagedMoveTest::testOverwriteSelf in modules/simpletest/tests/file.test
Try to move a file onto itself.
file_move in includes/file.inc
Moves a file to a new location and update the file's database entry.

... See full list

File

includes/file.inc, line 1139
API for handling file uploads and server file management.

Code

function file_unmanaged_move($source, $destination = NULL, $replace = FILE_EXISTS_RENAME) {
  $filepath = file_unmanaged_copy($source, $destination, $replace);
  if ($filepath == FALSE || file_unmanaged_delete($source) == FALSE) {
    return FALSE;
  }
  return $filepath;
}