getgrav/grav · error · RuntimeException
PLUGIN_ADMIN.FILE_COULD_NOT_BE_DELETED
Error message
PLUGIN_ADMIN.FILE_COULD_NOT_BE_DELETED
What it means
Error "PLUGIN_ADMIN.FILE_COULD_NOT_BE_DELETED" thrown in getgrav/grav.
Source
Thrown at system/src/Grav/Common/Media/Traits/MediaUploadTrait.php:579
{
$filesystem = Filesystem::getInstance(false);
/** @var UniformResourceLocator $locator */
$locator = $this->getGrav()['locator'];
// If path doesn't exist, there's nothing to do.
$pathname = $filesystem->pathname($filename);
if (!$this->fileExists($pathname, $path)) {
return;
}
$folder = $locator->isStream($path) ? (string)$locator->findResource($path, true, true) : $path;
// Remove requested media file.
if ($this->fileExists($filename, $path)) {
$result = unlink("{$folder}/{$filename}");
if (!$result) {
throw new RuntimeException($this->translate('PLUGIN_ADMIN.FILE_COULD_NOT_BE_DELETED') . ': ' . $filename, 500);
}
}
// Remove associated metadata.
$this->doRemoveMetadata($filename, $path);
// Remove associated 2x, 3x and their .meta.yaml files.
$targetPath = rtrim(sprintf('%s/%s', $folder, $pathname), '/');
$dir = scandir($targetPath, SCANDIR_SORT_NONE);
if (false === $dir) {
throw new RuntimeException($this->translate('PLUGIN_ADMIN.FILE_COULD_NOT_BE_DELETED') . ': ' . $filename, 500);
}
/** @var UniformResourceLocator $locator */
$locator = $this->getGrav()['locator'];
$basename = $filesystem->basename($filename);
$fileParts = (array)$filesystem->pathinfo($filename);View on GitHub (pinned to 6040efed04)
When it happens
Trigger: Thrown at system/src/Grav/Common/Media/Traits/MediaUploadTrait.php:579 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of getgrav/grav@6040efed04 (2026-08-17).
Data as JSON: /api/errors/63eebe0fea4d647c.
Report an issue: GitHub.