function file_move in Drupal 6
Same name and namespace in other branches
- 8 core/modules/file/file.module \file_move()
 - 4 includes/file.inc \file_move()
 - 5 includes/file.inc \file_move()
 - 7 includes/file.inc \file_move()
 - 9 core/modules/file/file.module \file_move()
 
Moves a file to a new location.
- Checks if $source and $dest are valid and readable/writable.
 - Performs a file move if $source is not equal to $dest.
 - If file already exists in $dest either the call will error out, replace the file or rename the file based on the $replace parameter.
 
Parameters
$source: Either a string specifying the file location of the original file or an object containing a 'filepath' property. This parameter is passed by reference and will contain the resulting destination filename in case of success.
$dest: A string containing the directory $source should be copied to. If this value is omitted, Drupal's 'files' directory will be used.
$replace: Replace behavior when the destination file already exists.
- FILE_EXISTS_REPLACE: Replace the existing file.
 - FILE_EXISTS_RENAME: Append _{incrementing number} until the filename is unique.
 - FILE_EXISTS_ERROR: Do nothing and return FALSE.
 
Return value
TRUE for success, FALSE for failure.
Related topics
1 call to file_move()
- file_save_data in includes/
file.inc  - Save a string to the specified destination.
 
File
- includes/
file.inc, line 416  - API for handling file uploads and server file management.
 
Code
function file_move(&$source, $dest = 0, $replace = FILE_EXISTS_RENAME) {
  $path_original = is_object($source) ? $source->filepath : $source;
  if (file_copy($source, $dest, $replace)) {
    $path_current = is_object($source) ? $source->filepath : $source;
    if ($path_original == $path_current || file_delete($path_original)) {
      return 1;
    }
    drupal_set_message(t('The removal of the original file %file has failed.', array(
      '%file' => $path_original,
    )), 'error');
  }
  return 0;
}