Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2017-03-12 12:25:00

bumblebee
Участник
Зарегистрирован: 2015-01-14
Сообщений: 65
Рейтинг :   

кнопка "очистить кэш"

Привет, парни.
Можно добавить в админку кнопку "очистить кэш" ?
Иногда бывает, частенько даже, после обновления страницы F5 или CTRL+F5 страница не обновляется, приходится удалять файлы ручками из папки cach.

Спасибо.

Не в сети

#2 2017-03-12 14:26:04

irbees2008
Продвинутый чайник ;)
Откуда Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2,873
Рейтинг :   121 
Сайт

Re: кнопка "очистить кэш"

Ну вот нашел для начала создаете файл php в любом месте сайта с таким содержимым

<?
/*
Скрипт очистки папки cache 
*/
$cache = $_SERVER[DOCUMENT_ROOT]."/cache";

function delTree($dir) { 
   $files = array_diff(scandir($dir), array('.','..')); 

	foreach ($files as $file) { 
		if (is_dir("$dir/$file")) {
				delTree("$dir/$file");
		
									}
			else
								{
				unlink("$dir/$file"); 
			
					} 
	
   
   } 
echo "Цель: $dir/$file <br />";  
  return rmdir($dir); 
  
  }
  
  $space = array_diff(scandir($cache), array('.','..','index.html')); 
	foreach ($space as $work) { 
	if (is_dir($cache."/".$work)) {
	echo "Удаляем папку $work <br/>";
	delTree($cache."/".$work);
	echo "<br/><hr/><br/>";
	}
	}
?>

Дальше кидаете ее в cron , надо теперь придумать кнопку и путя исправить

Изменено irbees2008 (2017-03-12 14:27:56)

Не в сети

#3 2017-03-12 16:05:07

irbees2008
Продвинутый чайник ;)
Откуда Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2,873
Рейтинг :   121 
Сайт

Re: кнопка "очистить кэш"

<?php
  function removeDirectory($dir) {
    if ($objs = glob($dir."/*")) {
       foreach($objs as $obj) {
         is_dir($obj) ? removeDirectory($obj) : unlink($obj);
       }
    }
    rmdir($dir);
  }
?>

Вот еще нашел

function recRMDir($path){ 
    if (substr($path, strlen($path)-1, 1) != '/') $path .= '/'; 
    if ($handle = @opendir($path)){ 
        while ($obj = readdir($handle)){ 
            if ($obj != '.' && $obj != '..'){ 
                if (is_dir($path.$obj)){ 
                    if (!recRMDir($path.$obj)) return false; 
                }elseif (is_file($path.$obj)){ 
                    if (!unlink($path.$obj))    return false; 
                    } 
            } 
        } 
          closedir($handle); 
            if (!@rmdir($path)) return false; 
          return true; 
    } 
   return false; 
}

и еще

Для удаление файлов в папке можно использовать следующий фрагмент PHP кода:


<?php
$dir='/home/user/www/site1/public_html/soft/';
$op_dir=opendir($dir);
while($file=readdir($op_dir ))
 {
       
         if($file != "." && $file != ".."  && $file>6500 ) 
         {
           unlink ($dir.$file);
          }
}
closedir($dir);

?>


readdir - функция для получения имени следующего файла в списке каталога, возвращает имя следующего файла из каталога. Имена файлов возвращаются в виде неупорядоченной последовательности. Функция readdir возвращает значения "." и "..", что соответствует текущему каталогу и родительскому каталогу. Если эти значения не требуются, то их можно исключить следующим оператором: if (( $file != ".") && ($file != ".."))

Изменено irbees2008 (2017-03-12 16:11:06)

Не в сети

#4 2018-02-26 20:18:12

irbees2008
Продвинутый чайник ;)
Откуда Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2,873
Рейтинг :   121 
Сайт

Re: кнопка "очистить кэш"

Кому нужна кнопка очистки кеша https://ngcmshak.ru/nastroika-plaginov- … izhka.html от rusiq

Не в сети

Подвал раздела

Работает на FluxBB