Как правильно создать массив для передачи в шаблон 9.2.0

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

Пытаюсь сделать модуль очистки кэша из админки, вроде все получается но в шаблону выводится только название последнего кэш-файла (кэш даты последней очистки).Помогите правильно создать массив чтобы передавались имена всех файлов из папки 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 />';}
Прикрепленные файлы:
.
Админ, как сантехник - одна ошибка и все в дерьме

что-то код в одну строку вставился

Прикрепленные файлы:
.
Кадило крутится, лавэха мутится

Так должно получиться.

Прикрепленные файлы:
.
Админ, как сантехник - одна ошибка и все в дерьме

Simba, да, действительно. так работает. благодарю.

.
КоляН
Админ, как сантехник - одна ошибка и все в дерьме
Добавлено: 28.06.2020 / 23:07
Вопрос решен! Тему можно удалить.
Модуль в теме https://johncms.com/forum/?type=topic&id=12127

Добавлено: 28.06.2020 / 23:26
Хотя... Может стоит в двиг включить библу для работы с архивами? 
Чтобы не скачивать файл zip, его удобнее открыть, посмотреть/скачать/копировать содержимое.
Если с zip виинда умеет работать, то для rar необходимые проги.
Ещё хочу модуль сделать быкапа БД, где желательно сохранять в GZip
.
Кадило крутится, лавэха мутится
https://www.php.net/manual/ru/book.zip.php 
Обычно этого достаточно.
.
Админ, как сантехник - одна ошибка и все в дерьме

Simba, Допустим. Что тогда мешает здесь на форуме (в загрузках), сделать открытие архива если расширение: zip, rar, gzip, без скачивания?

.
Кадило крутится, лавэха мутится
# КоляН (28.06.2020 / 23:48)
Simba, Допустим. Что тогда мешает здесь на форуме (в загрузках), сделать открытие архива если расширение: zip, rar, gzip, без скачивания?
Нет смысла. И много нюансов.
.
Админ, как сантехник - одна ошибка и все в дерьме

Simba, Ньюансы конечно допускаются (не буду из указывать),  а вообще не очень много работы

Всего: 9