Просмотр поста

.
КоляН
Админ, как сантехник - одна ошибка и все в дерьме

Пытаюсь сделать модуль очистки кэша из админки, вроде все получается но в шаблону выводится только название последнего кэш-файла (кэш даты последней очистки).Помогите правильно создать массив чтобы передавались имена всех файлов из папки data/cache.

includes/caches.php (+/-)
<?phpdeclare(strict_types=1);defined('_IN_JOHNADM') || die('Error: restricted access');$data = ['title' => 'кэш', 'page_title' => 'Очистить кэш', ];$nav_chain->add('Очистить кэш', '?');// --------------- Функция правильного вывода веса файла -------------------//function formatsize($file_size) {   if ($file_size >= 1048576000) {      $file_size = round(($file_size / 1073741824), 2)." Gb";   } elseif ($file_size >= 1024000) {      $file_size = round(($file_size / 1048576), 2)." Mb";   } elseif ($file_size >= 1000) {      $file_size = round(($file_size / 1024), 2)." Kb";   } else {      $file_size = round($file_size)." byte";   }   return $file_size;}// --------------- Функция форматированного вывода размера файла -------------------//function read_file($file) {   if (file_exists($file) && is_file($file)) {      return formatsize(filesize($file));   } else {      return 0;   }}function clearCache() {   // Выбираем все файлы с названием и расширением   $cachefiles = glob(CACHE_PATH.'*.*');   $cachefiles = array_diff(      $cachefiles, array(         // Запрещаем удаление снимка Антишпион         CACHE_PATH.'security-scanner-snapshot.cache',         // 'Через апетую можно добовить другие исключения',      )   );   if (is_array($cachefiles) && count($cachefiles)>0){      foreach ($cachefiles as $file) {         unlink ($file);      }   }   return true;}$mod = isset($_GET['mod']) ? trim($_GET['mod']) : '';switch ($mod) {   //\\// Удаление файлоф кэша    case 'clear':      clearCache();      header('Location: ?');   break;   //\\// Вывод всех файлов с размером и датой    default:      $chefiles = glob(CACHE_PATH.'*.*');      $total = count($chefiles);      if (is_array($chefiles) && $total > 0){         foreach ($chefiles as $file) {            // Временная подсказка            echo '<div class="m-5">'.$name.'</div>';                        $data['caches'] = [            [               'name' => basename($file),               'size' => read_file($file),               'date' => $tools->displayDate(filemtime($file)),            ],         ];         }         // Подключаем шаблон index.phtml и передаем в него собранные выше данные         echo $view->render('admin::caches', ['data' => $data]);         echo '<i class="fa fa-trash-o"></i> <a href="/admin/caches/?mod=clear">Очистить кэш</a><br />';      } else {         echo 'Нет данных';      }      echo '<br />Всего файлов: '. $total .'<br /><br />';}
Прикрепленные файлы: