You are here

public static function MieDemoBaseUtility::createFile in Menu Item Extras 8.2

Creates Drupal file from module files directory.

Parameters

string $file_name: File name from module files directory.

string $module_path: Module path that contains files directory.

Return value

\Drupal\file\Entity\File Drupal File entity.

1 call to MieDemoBaseUtility::createFile()
mie_demo_base_install in modules/mie_demo_base/mie_demo_base.install
Implements hook_install().

File

modules/mie_demo_base/src/Utility/MieDemoBaseUtility.php, line 27

Class

MieDemoBaseUtility
Utility functions specific to mie_demo_base.

Namespace

Drupal\mie_demo_base\Utility

Code

public static function createFile($file_name, $module_path = 'mie_demo_base') {
  $source = drupal_get_path('module', 'mie_demo_base') . '/files/' . $file_name;
  $destination = PublicStream::basePath();

  /** @var \Drupal\Core\File\FileSystemInterface $file_system */
  $file_system = \Drupal::service('file_system');
  try {
    $file_system
      ->copy($source, $destination, FileSystemInterface::EXISTS_RENAME);
  } catch (\Exception $e) {
  }
  $demo_image_uri = 'public://' . $file_name;

  /** @var \Drupal\file\FileInterface $file */
  $demo_image = File::create([
    'uri' => $demo_image_uri,
    'status' => FILE_STATUS_PERMANENT,
  ]);
  $demo_image
    ->save();
  return $demo_image;
}