mirror of
https://github.com/getnamingo/registry.git
synced 2025-06-02 02:28:33 +02:00
24 lines
890 B
PHP
24 lines
890 B
PHP
<?php
|
|
|
|
$cacheDir = '/var/www/cp/cache';
|
|
|
|
$files = new RecursiveIteratorIterator(
|
|
new RecursiveDirectoryIterator($cacheDir, RecursiveDirectoryIterator::SKIP_DOTS),
|
|
RecursiveIteratorIterator::CHILD_FIRST
|
|
);
|
|
|
|
foreach ($files as $fileinfo) {
|
|
// Check if the parent directory name is exactly two letters/numbers long
|
|
if (preg_match('/^[a-zA-Z0-9]{2}$/', $fileinfo->getFilename()) || preg_match('/^[a-zA-Z0-9]{2}$/', basename(dirname($fileinfo->getPathname())))) {
|
|
$todo = ($fileinfo->isDir() ? 'rmdir' : 'unlink');
|
|
$todo($fileinfo->getRealPath());
|
|
}
|
|
}
|
|
|
|
// After deleting files and subdirectories, delete the 2 letter/number directories themselves
|
|
$dirs = new DirectoryIterator($cacheDir);
|
|
foreach ($dirs as $dir) {
|
|
if ($dir->isDir() && !$dir->isDot() && preg_match('/^[a-zA-Z0-9]{2}$/', $dir->getFilename())) {
|
|
rmdir($dir->getRealPath());
|
|
}
|
|
}
|