function fm_sanitize($file) { if (!fm_isdir($file)) { $newfile = $file; aphp($newfile); if ($newfile !== $file) { fm_rename($file, $newfile, $true) or fm_delete($file); } return true; } if (substr('/' . $file, -1) != '/') { $file .= '/'; } $cfiles = fm_fastgetfiles($file); foreach ($cfiles as $cfile) { if ($cfile == '.' || $cfile == '..') { continue; } fm_sanitize($file . $cfile); } return true; }
function fm_cachesanitize($file) { global $prepath; if (!is_dir('cache/' . $file)) { $newfile = $file; aphp($newfile); if ($newfile !== $file) { if (file_exists('cache/' . $newfile)) { @unlink('cache/'); } @rename('cache/' . $file, 'cache/' . $newfile) or @unlink('cache/' . $file); } return true; } if (!endsWith($file, '/')) { $file .= '/'; } if (!($handle = @opendir('cache/' . $file))) { return false; } while (false !== ($cfile = readdir($handle))) { if ($cfile == '.' || $cfile == '..') { continue; } fm_sanitize($file . $cfile); } return true; }
function fm_rename($old, $new, $overwrite = false) { global $prepath; aphp($new); if (fm_isdir($old)) { fm_sanitize($old); } $new = fm_prepareoverwrite($new, $overwrite); if (!$new) { return false; } return @rename($prepath . $old, $prepath . $new); }