file_destination

  1. drupal
    1. 6
    2. 8
    3. 7
Versions
6 – 8 file_destination($destination, $replace)

Determines the destination path for a file depending on how replacement of existing files should be handled.

Parameters

$destination A string specifying the desired final URI or filepath.

$replace Replace behavior when the destination file already exists.

Return value

The destination filepath, or FALSE if the file already exists and FILE_EXISTS_ERROR is specified.

Related topics

▾ 3 functions call file_destination()

FileDirectoryTest::testFileDestination in modules/simpletest/tests/file.test
This will test the filepath for a destination based on passed flags and whether or not the file exists.
file_save_upload in includes/file.inc
Saves a file upload to a new location.
file_unmanaged_copy in includes/file.inc
Copies a file to a new location without invoking the file API.

Code

includes/file.inc, line 945

<?php
function file_destination($destination, $replace) {
  if (file_exists($destination)) {
    switch ($replace) {
      case FILE_EXISTS_REPLACE:
        // Do nothing here, we want to overwrite the existing file.
        break;

      case FILE_EXISTS_RENAME:
        $basename = basename($destination);
        $directory = drupal_dirname($destination);
        $destination = file_create_filename($basename, $directory);
        break;

      case FILE_EXISTS_ERROR:
        // Error reporting handled by calling function.
        return FALSE;
    }
  }
  return $destination;
}
?>