function ReadDir($dir, $children = 0) { if(is_dir($dir) === false)Return false;; $dir = rtrim(str_replace("\\", "/", $dir), "/") ; $dirfp = @opendir($dir); if ($dirfp === false) { trigger_error("{$dir}目录名不存在或者无效,请检查您的目录设置!<br>", E_USER_NOTICE); Return false; } while (false !== ($file = @readdir($dirfp))) { if ($file != '.' and $file != '..') { $abspath = $dir . '/' . $file; if (is_file($abspath) !== false) { $files[] = $abspath ; } if(is_dir($abspath) !== false) { if ($children == '1') { $files = @array_merge((array) $files, (array) IoHandler::ReadDir($abspath, $children)); } else { $files[] = $abspath ; } } } } @closedir($dirfp); return (array) $files; }
function ReadDir($dir, $children = 0) { if (!is_dir($dir) || !($dp = @opendir($dir))) { trigger_error("目录 {$dir} 不存在或者没有相应权限,请检查<br>", E_USER_NOTICE); return false; } while (false !== ($file = readdir($dp))) { if ($file != '.' and $file != '..') { $abspath = $dir . '/' . $file; if (is_file($abspath) !== false) { $files[] = $abspath; } if (is_dir($abspath) !== false) { if ($children == '1') { $files = array_merge((array) $files, (array) IoHandler::ReadDir($abspath, $children)); } } } } closedir($dp); return (array) $files; }
function ImageThumbRebuild() { $load = new Load(); $load->lib('io'); $o_dirs = IoHandler::ReadDir(IMAGE_PATH.'product/'); $dirs = array(); foreach ($o_dirs as $i => $dir) { if (preg_match('/product\/\d{4}-\d{2}-\d{2}/', $dir)) { $dirs[] = $dir; } } $thumbwidth = $this->Config['thumbwidth']; $thumbheight = $this->Config['thumbheight']; $op = $_GET['op']; if ($op == 'run') { $od = $_GET['od']; $dir = $dirs[$od]; $files = IoHandler::ReadDir($dir); foreach ($files as $i => $src_file) { $dst_file = str_replace('/product/', '/product/s-', $src_file); resize_image($src_file, $dst_file, $thumbwidth, $thumbheight); } echo '更新了目录[ '.$dir.' ],有[ <b>'.count($files).'</b> ]张缩略图被生成!'; return; } $cronLength = count($dirs); include(handler('template')->file('@admin/tttuangou_imagethumb_rebuild')); }
function DoDelete() { $this->CheckAdminPrivs('dbexport'); $backupdir = $this->Post['backupdir']; $delete=$this->Post['delete']; if(is_array($delete)) { $dir = ROOT_PATH.'backup/'.$backupdir.'/'; foreach($delete as $filename) { @unlink($dir.str_replace(array('/', '\\'), '', $filename)); } if ($backupdir && false!==strpos($dir,'/db/')) { $load = new Load(); $load->lib('io'); $IoHandler = new IoHandler(); $f_list = $IoHandler->ReadDir($dir,1); if(count($f_list) < 3) { $d = true; foreach ($f_list as $f) { if ((filesize($f) > 0) || ((basename($f) != 'index.htm') && (basename($f) != 'index.html'))) { $d = false; break; } } if ($d) { $IoHandler->RemoveDir($dir); } } } $this->Messager('指定备份文件成功删除',null); } else { $this->Messager('您没有选择要删除的备份文件,请返回'); } }