function FileSystem::getDestinationFilename
Same name in other branches
- 9 core/lib/Drupal/Core/File/FileSystem.php \Drupal\Core\File\FileSystem::getDestinationFilename()
- 8.9.x core/lib/Drupal/Core/File/FileSystem.php \Drupal\Core\File\FileSystem::getDestinationFilename()
- 11.x core/lib/Drupal/Core/File/FileSystem.php \Drupal\Core\File\FileSystem::getDestinationFilename()
1 call to FileSystem::getDestinationFilename()
- FileSystem::prepareDestination in core/
lib/ Drupal/ Core/ File/ FileSystem.php - Prepares the destination for a file copy or move operation.
File
-
core/
lib/ Drupal/ Core/ File/ FileSystem.php, line 532
Class
- FileSystem
- Provides helpers to operate on files and stream wrappers.
Namespace
Drupal\Core\FileCode
public function getDestinationFilename($destination, $fileExists) {
if (!$fileExists instanceof FileExists) {
// @phpstan-ignore-next-line
$fileExists = FileExists::fromLegacyInt($fileExists, __METHOD__);
}
$basename = $this->basename($destination);
if (!Unicode::validateUtf8($basename)) {
throw new FileException(sprintf("Invalid filename '%s'", $basename));
}
if (file_exists($destination)) {
switch ($fileExists) {
case FileExists::Replace:
// Do nothing here, we want to overwrite the existing file.
break;
case FileExists::Rename:
$directory = $this->dirname($destination);
$destination = $this->createFilename($basename, $directory);
break;
case FileExists::Error:
// Error reporting handled by calling function.
return FALSE;
}
}
return $destination;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.