8.5.x file.api.php hook_file_copy(Drupal\file\FileInterface $file, Drupal\file\FileInterface $source)
8.0.x file.api.php hook_file_copy(Drupal\file\FileInterface $file, Drupal\file\FileInterface $source)
8.1.x file.api.php hook_file_copy(Drupal\file\FileInterface $file, Drupal\file\FileInterface $source)
8.2.x file.api.php hook_file_copy(Drupal\file\FileInterface $file, Drupal\file\FileInterface $source)
8.3.x file.api.php hook_file_copy(Drupal\file\FileInterface $file, Drupal\file\FileInterface $source)
8.4.x file.api.php hook_file_copy(Drupal\file\FileInterface $file, Drupal\file\FileInterface $source)
8.6.x file.api.php hook_file_copy(Drupal\file\FileInterface $file, Drupal\file\FileInterface $source)
7.x system.api.php hook_file_copy($file, $source)

Respond to a file that has been copied.

Parameters

$file: The newly copied file object.

$source: The original file before the copy.

See also

file_copy()

Related topics

1 function implements hook_file_copy()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

file_test_file_copy in modules/simpletest/tests/file_test.module
Implements hook_file_copy().
1 invocation of hook_file_copy()
file_copy in includes/file.inc
Copies a file to a new location and adds a file record to the database.

File

modules/system/system.api.php, line 2944
Hooks provided by Drupal core and the System module.

Code

function hook_file_copy($file, $source) {
  $file_user = user_load($file->uid);

  // Make sure that the file name starts with the owner's user name.
  if (strpos($file->filename, $file_user->name) !== 0) {
    $file->filename = $file_user->name . '_' . $file->filename;
    $file
      ->save();
    watchdog('file', t('Copied file %source has been renamed to %destination', array(
      '%source' => $source->filename,
      '%destination' => $file->filename,
    )));
  }
}