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;
}
Example #2
0
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);
}