function file_destination in Drupal 6
Same name and namespace in other branches
- 8 core/includes/file.inc \file_destination()
- 7 includes/file.inc \file_destination()
Determines the destination path for a file depending on how replacement of existing files should be handled.
Parameters
$destination A string specifying the desired path.:
$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
The destination file path or FALSE if the file already exists and FILE_EXISTS_ERROR was specified.
Related topics
2 calls to file_destination()
- file_copy in includes/file.inc 
- Copies a file to a new location.
- file_save_upload in includes/file.inc 
- Saves a file upload to a new location.
File
- includes/file.inc, line 374 
- API for handling file uploads and server file management.
Code
function file_destination($destination, $replace) {
  if (file_exists($destination)) {
    switch ($replace) {
      case FILE_EXISTS_RENAME:
        $basename = basename($destination);
        $directory = dirname($destination);
        $destination = file_create_filename($basename, $directory);
        break;
      case FILE_EXISTS_ERROR:
        drupal_set_message(t('The selected file %file could not be copied, because a file by that name already exists in the destination.', array(
          '%file' => $destination,
        )), 'error');
        return FALSE;
    }
  }
  return $destination;
}