Сканирование каталога на моем веб-сервере и перечисление всех его изображений - PullRequest
1 голос
/ 09 октября 2019

На моем веб-сервере под путем к каталогу sites/default/files/app-images у меня есть следующие изображения:

  • image-1.png
  • image-2.png

Я пытаюсь на Cron Run:

  1. Сканирование этого каталога.
  2. Проверьте, не является ли каталог пустым.
  3. Выполните цикл по всем доступным изображениям идля каждого;получите его имя.
  4. Удалите это изображение.

До сих пор я делал следующее:

$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"));
}
  1. Является ли это лучшимметод для использования с точки зрения производительности?

  2. Я получаю имя файла изображений с расширением файла, например image-1.png и image-2.png, но как получить имя файла без расширения файла,Пример: image-1 и image-2?

  3. Как удалить изображение после получения его имени? Я пробовал unlink($filename);, но безрезультатно, изображение все еще существует в каталоге!

Может кто-нибудь установить меня на правильный путь, пожалуйста?

Спасибо

...