function file_unmanaged_move

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


$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


Related topics

6 calls to file_unmanaged_move()
FileUnmanagedMoveTest::testMissing in drupal/modules/simpletest/tests/file.test
Try to move a missing file.
FileUnmanagedMoveTest::testNormal in drupal/modules/simpletest/tests/file.test
Move a normal file.
FileUnmanagedMoveTest::testOverwriteSelf in drupal/modules/simpletest/tests/file.test
Try to move a file onto itself.
file_move in drupal/includes/
Moves a file to a new location and update the file's database entry.
file_unmanaged_save_data in drupal/includes/
Saves a string to the specified destination without invoking file API.

... See full list


drupal/includes/, line 1119
API for handling file uploads and server file management.


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;