Error message

You are browsing documentation for drupal 7.x, which is not supported anymore. Read the updated version of this page for drupal 11.x (the latest version).

function hook_file_copy

Same name and namespace in other branches
  1. 10 core/modules/file/file.api.php \hook_file_copy()
  2. 11.x core/modules/file/file.api.php \hook_file_copy()
  3. 9 core/modules/file/file.api.php \hook_file_copy()
  4. 8.9.x core/modules/file/file.api.php \hook_file_copy()

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

Hooks
Allow modules to interact with the Drupal core.
2 functions implement hook_file_copy()

Note: the procedural functions in this list are found by pattern matching, so the list may include some functions that are not actually implementations of this hook.

FileTestHooks::fileCopy in core/modules/file/tests/file_test/src/Hook/FileTestHooks.php
Implements hook_file_copy().
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

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', 'Copied file %source has been renamed to %destination', array(
 '%source' => $source->filename ,
 '%destination' => $file->filename ,
 ));
 }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.