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

Breadcrumb

  1. Drupal Core 11.1.x
  2. File.php

function File::preDelete

Overrides EntityBase::preDelete

File

core/modules/file/src/Entity/File.php, line 200

Class

File
Defines the file entity class.

Namespace

Drupal\file\Entity

Code

public static function preDelete(EntityStorageInterface $storage, array $entities) {
    parent::preDelete($storage, $entities);
    foreach ($entities as $entity) {
        // Delete all remaining references to this file.
        $file_usage = \Drupal::service('file.usage')->listUsage($entity);
        if (!empty($file_usage)) {
            foreach ($file_usage as $module => $usage) {
                \Drupal::service('file.usage')->delete($entity, $module);
            }
        }
        // Delete the actual file. Failures due to invalid files and files that
        // were already deleted are logged to watchdog but ignored, the
        // corresponding file entity will be deleted.
        try {
            \Drupal::service('file_system')->delete($entity->getFileUri());
        } catch (FileException) {
            // Ignore and continue.
        }
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal