mirror of
https://github.com/the-djmaze/snappymail.git
synced 2024-09-20 15:45:55 +08:00
Merge \MailSo\Base\Utils::RecRmDir() and \MailSo\Base\Utils::RecTimeDirRemove()
This commit is contained in:
parent
a86c143160
commit
6e2e07ce98
|
@ -506,25 +506,7 @@ abstract class Utils
|
||||||
|
|
||||||
public static function RecRmDir(string $sDir) : bool
|
public static function RecRmDir(string $sDir) : bool
|
||||||
{
|
{
|
||||||
\clearstatcache();
|
return static::RecTimeDirRemove($sDir, 0);
|
||||||
if (\is_dir($sDir)) {
|
|
||||||
$iterator = new \RecursiveIteratorIterator(
|
|
||||||
new \RecursiveDirectoryIterator($sDir, \FilesystemIterator::SKIP_DOTS),
|
|
||||||
\RecursiveIteratorIterator::CHILD_FIRST);
|
|
||||||
foreach ($iterator as $path) {
|
|
||||||
if ($path->isDir()) {
|
|
||||||
\rmdir($path);
|
|
||||||
} else {
|
|
||||||
\is_callable('opcache_invalidate') && \opcache_invalidate($path, true);
|
|
||||||
\unlink($path);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
\clearstatcache();
|
|
||||||
// \realpath_cache_size() && \clearstatcache(true);
|
|
||||||
return \rmdir($sDir);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function RecTimeDirRemove(string $sDir, int $iTime2Kill) : bool
|
public static function RecTimeDirRemove(string $sDir, int $iTime2Kill) : bool
|
||||||
|
@ -536,9 +518,10 @@ abstract class Utils
|
||||||
new \RecursiveDirectoryIterator($sDir, \FilesystemIterator::SKIP_DOTS),
|
new \RecursiveDirectoryIterator($sDir, \FilesystemIterator::SKIP_DOTS),
|
||||||
\RecursiveIteratorIterator::CHILD_FIRST);
|
\RecursiveIteratorIterator::CHILD_FIRST);
|
||||||
foreach ($iterator as $path) {
|
foreach ($iterator as $path) {
|
||||||
if ($path->isFile() && $path->getMTime() < $iTime) {
|
if ($path->isFile() && (!$iTime2Kill || $path->getMTime() < $iTime)) {
|
||||||
|
\is_callable('opcache_invalidate') && \opcache_invalidate($path, true);
|
||||||
\unlink($path);
|
\unlink($path);
|
||||||
} else if ($path->isDir() && !(new \FilesystemIterator($path))->valid()) {
|
} else if ($path->isDir() && (!$iTime2Kill || !(new \FilesystemIterator($path))->valid())) {
|
||||||
\rmdir($path);
|
\rmdir($path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,11 +61,7 @@ class File implements \MailSo\Cache\DriverInterface
|
||||||
|
|
||||||
public function GC(int $iTimeToClearInHours = 24) : bool
|
public function GC(int $iTimeToClearInHours = 24) : bool
|
||||||
{
|
{
|
||||||
if (0 === $iTimeToClearInHours) {
|
\MailSo\Base\Utils::RecTimeDirRemove($this->sCacheFolder, 3600 * $iTimeToClearInHours);
|
||||||
\MailSo\Base\Utils::RecRmDir($this->sCacheFolder);
|
|
||||||
} else {
|
|
||||||
\MailSo\Base\Utils::RecTimeDirRemove($this->sCacheFolder, 3600 * $iTimeToClearInHours);
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue