На моем веб-сервере под путем к каталогу sites/default/files/app-images
у меня есть следующие изображения:
Я пытаюсь на Cron Run:
- Сканирование этого каталога.
- Проверьте, не является ли каталог пустым.
- Выполните цикл по всем доступным изображениям идля каждого;получите его имя.
- Удалите это изображение.
До сих пор я делал следующее:
$Directory = new \RecursiveDirectoryIterator('sites/default/files/app-images');
$Iterator = new \RecursiveIteratorIterator($Directory);
$Regex = new \RegexIterator($Iterator, '/^.+\.png$/i', \RecursiveRegexIterator::GET_MATCH);
foreach ($Regex as $info) {
$filename = $Regex->getFilename();
// Display a message
\Drupal::messenger()->addWarning(t("$filename"));
}
Является ли это лучшимметод для использования с точки зрения производительности?
Я получаю имя файла изображений с расширением файла, например image-1.png
и image-2.png
, но как получить имя файла без расширения файла,Пример: image-1
и image-2
?
Как удалить изображение после получения его имени? Я пробовал unlink($filename);
, но безрезультатно, изображение все еще существует в каталоге!
Может кто-нибудь установить меня на правильный путь, пожалуйста?
Спасибо