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

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

rss

Вы не зашли.

Объявление

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

bumblebee
Пользователь
Зарегистрирован: 2015-01-13
Сообщений: 25
Рейтинг :   
Профиль

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

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

Спасибо.

Неактивен

 

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

irbees2008
Пользователь
Откуда: Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2161
Рейтинг :   93 
Профиль  Вебсайт

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 13:27:56)

Неактивен

 

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

irbees2008
Пользователь
Откуда: Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2161
Рейтинг :   93 
Профиль  Вебсайт

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 15:11:06)

Неактивен

 

Board footer

Powered by FluxBB

[ Generated in 0.006 seconds, 11 queries executed ]