Beispiel #1
0
 public function unload()
 {
     if (!$this->allow) {
         return;
     }
     $files = w();
     if ($a = func_get_args()) {
         foreach ($a as $row) {
             if (!f($row)) {
                 continue;
             }
             $files[] = $this->encrypt($row);
         }
     } else {
         $files = _dirlist($this->folder, '^([a-z0-9]+)$', 'files');
     }
     foreach ($files as $row) {
         $row = $this->folder . $row;
         if (@file_exists($row)) {
             @unlink($row);
         }
     }
     return false;
 }
Beispiel #2
0
function _dirlist($d, $filter = false, $sd = false)
{
    if (substr($d, -1) != '/') {
        $d .= '/';
    }
    if (!($fp = @opendir($d))) {
        return false;
    }
    $r = w();
    while (false !== ($f = @readdir($fp))) {
        if ($f == '.' || $f == '..') {
            continue;
        }
        if (is_dir($d . $f)) {
            if ($sd === 'files') {
                continue;
            }
            $r[$f] = _dirlist($d . $f . '/', $filter . $sd);
        } else {
            if ($sd === 'dir' || $filter !== false && !preg_match('#' . $filter . '#', trim($f))) {
                continue;
            }
            $r[] = $f;
        }
    }
    @closedir($fp);
    if (count($r)) {
        array_multisort($r);
    }
    return $r;
}