Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. file.api.php

function hook_file_copy

Respond to a file that has been copied.

Parameters

\Drupal\file\FileInterface $file: The newly copied file entity.

\Drupal\file\FileInterface $source: The original file before the copy.

See also

\Drupal\file\FileRepositoryInterface::copy()

Related topics

Hooks
Define functions that alter the behavior of Drupal core.
1 invocation of hook_file_copy()
FileRepository::copy in core/modules/file/src/FileRepository.php

File

core/modules/file/file.api.php, line 78

Code

function hook_file_copy(FileInterface $file, FileInterface $source) {
    // Make sure that the file name starts with the owner's user name.
    if (!str_starts_with($file->getFilename(), $file->getOwner()->name)) {
        $file->setFilename($file->getOwner()->name . '_' . $file->getFilename());
        $file->save();
        \Drupal::logger('file')->notice('Copied file %source has been renamed to %destination', [
            '%source' => $source->filename,
            '%destination' => $file->getFilename(),
        ]);
    }
}
RSS feed
Powered by Drupal