Админка ----> Общие настройки ----> Принудительная очистка кеша (галочку поставьте)
Или удалите все файлы из core\cache
2
Как очистить кэш?
Автор vsupport, Jul 01 2011 02:02 PM
Сообщений в теме: 3
#1
Отправлено 01 July 2011 - 02:02 PM
#2
Отправлено 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);
]
А есть ли где скрипт или модуль для очищения папки 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);
]
Социально-информационный проект Nvda.ru о бесплатной программе экранного доступа Nvda для незрячих и слабовидящих.
С уважением ко всем Valentin-Kupriyanov.ru
С уважением ко всем Valentin-Kupriyanov.ru
#3
Отправлено 26 April 2016 - 12:23 PM
Как мне кажется, в строке
2. /home/site/public_html/ тоже лишние.
Т.е. правильно эта строка должна выглядеть так:
Правда, не понятно, зачем надо было делать рекурсию с обходом покаталогов, если весь кэш лежит в одном каталоге ез подкаталогов.
Но хуже от этого точно не будет .
$dir = "/home/site/public_html/core/cache/";1. последний слэш лишний, т.к. в функции к этой строке тоже добавляется слэш.
2. /home/site/public_html/ тоже лишние.
Т.е. правильно эта строка должна выглядеть так:
$dir = "core/cache";Проверил - у меня работает.
Правда, не понятно, зачем надо было делать рекурсию с обходом покаталогов, если весь кэш лежит в одном каталоге ез подкаталогов.
Но хуже от этого точно не будет .
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)
#4
Отправлено 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")
?>
Социально-информационный проект Nvda.ru о бесплатной программе экранного доступа Nvda для незрячих и слабовидящих.
С уважением ко всем Valentin-Kupriyanov.ru
С уважением ко всем Valentin-Kupriyanov.ru