Перейти к содержимому


Как очистить кэш?


  • Вы не можете ответить в тему
Сообщений в теме: 3

#1 vsupport

    Продвинутый пользователь

  • Администраторы
  • 758 сообщений
Репутация: 31
Ассистент

Отправлено 01 July 2011 - 02:02 PM

Админка ----> Общие настройки ----> Принудительная очистка кеша (галочку поставьте)

Или удалите все файлы из core\cache
  • 0

#2 Valentin

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 146 сообщений
Репутация: 6
Начинающий
  • ГородШахты Ростовская область

Отправлено 26 April 2016 - 11:40 AM

Всем доброго дня.
А есть ли где скрипт или модуль для очищения папки core\cache


Иногда нужно по быстрому удалить кэш, но лазить в основные настройки не сподручно, при этом включать принудительную очистку на время проведения технических работ нежелательно.
Удобно было бы иметь возможность добавлять блок из файла с кнопкой очистки кэша видного только для админа или сквозную ссылку для очистки кэша на любой странице админ панели.
Нашол в сети скрипт для очистки содержимого указанной папки, но он не работает вовсе.
Вот сам скрипт:


function removeDirRec($dir)
{
if ($objs = glob($dir."/*")) {
foreach($objs as $obj) {
is_dir($obj) ? removeDirRec($obj) : unlink($obj);
}
}
}
$dir = "/home/site/public_html/core/cache/";
removeDirRec($dir);


]
  • 0
Социально-информационный проект Nvda.ru о бесплатной программе экранного доступа Nvda для незрячих и слабовидящих.
С уважением ко всем Valentin-Kupriyanov.ru

#3 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 26 April 2016 - 12:23 PM

Как мне кажется, в строке
$dir = "/home/site/public_html/core/cache/";
1. последний слэш лишний, т.к. в функции к этой строке тоже добавляется слэш.
2. /home/site/public_html/ тоже лишние.
Т.е. правильно эта строка должна выглядеть так:
$dir = "core/cache";
Проверил - у меня работает.
Правда, не понятно, зачем надо было делать рекурсию с обходом покаталогов, если весь кэш лежит в одном каталоге ез подкаталогов.
Но хуже от этого точно не будет :).
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#4 Valentin

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 146 сообщений
Репутация: 6
Начинающий
  • ГородШахты Ростовская область

Отправлено 26 April 2016 - 04:04 PM

Т.е. правильно эта строка должна выглядеть так:

$dir = "core/cache";
Проверил - у меня работает.

Спасибо что протестировали, хотя у меня так и не заработал этот код.
Но нашол немного другое решение, которое в моём случае справилось с задачей.
Насколько понял, также используется рекурсия, единственное если в папке cache лежали бы ещё вложенные папки с файлами, то файлы удаляются везде, а вот папки остаются.
Хотя это не относится к Shopcms.
Вот ниже код, может кому также понадобится чистить папку кэша без посещения общих настроек.


<?
function full_del_dir ($directory)
{
$dir = opendir($directory);
while(($file = readdir($dir)))
{
if ( is_file ($directory."/".$file))
{
unlink ($directory."/".$file);
}
else if ( is_dir ($directory."/".$file) &&
($file != ".") && ($file != ".."))
{
full_del_dir ($directory."/".$file);
}
}
closedir ($dir);

echo("Directory files are successfully remote");
}
full_del_dir ("core/cache")
?>
  • 0
Социально-информационный проект Nvda.ru о бесплатной программе экранного доступа Nvda для незрячих и слабовидящих.
С уважением ко всем Valentin-Kupriyanov.ru