Moves a file to a new location.

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.

See also

file_move()

  • 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.
1 call to advagg_file_move()
advagg_file_save_data in ./advagg.module
Save a string to the specified destination.

File

./advagg.module, line 1300

Code

function advagg_file_move(&$source, $dest = 0, $replace = FILE_EXISTS_RENAME) {
    $path_original = is_object($source) ? $source->filepath : $source;
    if (advagg_file_copy($source, $dest, $replace)) {
        $path_current = is_object($source) ? $source->filepath : $source;
        if ($path_original == $path_current || file_unmanaged_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;
}