protected function ContentImporter::ensureFile in Commerce Demo 8
Same name and namespace in other branches
- 8.2 src/ContentImporter.php \Drupal\commerce_demo\ContentImporter::ensureFile()
Ensures the existence of a file.
Parameters
string $filename: The filename. Assumed to exist in the content/files module subdirectory.
Return value
\Drupal\file\FileInterface The file.
1 call to ContentImporter::ensureFile()
- ContentImporter::importEntity in src/
ContentImporter.php - Imports a given entity.
File
- src/
ContentImporter.php, line 349
Class
- ContentImporter
- Defines the content importer.
Namespace
Drupal\commerce_demoCode
protected function ensureFile($filename) {
$file_storage = $this->entityTypeManager
->getStorage('file');
$files = $file_storage
->loadByProperties([
'filename' => $filename,
]);
$file = reset($files);
if (!$file) {
$path = $this->contentPath . '/files/' . $filename;
$uri = $this->fileSystem
->copy($path, 'public://' . $filename, FileSystemInterface::EXISTS_REPLACE);
$file = $file_storage
->create([
'filename' => $filename,
'uri' => $uri,
'status' => 1,
]);
$file
->save();
}
return $file;
}