示例#1
0
	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('您没有选择要删除的备份文件,请返回');
		}
	}
示例#2
0
文件: io.lib.php 项目: noikiy/LINJU
 function RemoveDir($dirname, $rm_self = 1)
 {
     clearstatcache();
     if (is_dir($dirname) && ($dp = @opendir($dirname))) {
         while (($file = readdir($dp)) !== false) {
             if ($file != '.' and $file != "..") {
                 clearstatcache();
                 if (is_dir($dirname . '/' . $file)) {
                     IoHandler::RemoveDir($dirname . '/' . $file);
                 }
                 if (is_file($dirname . '/' . $file)) {
                     IoHandler::DeleteFile($dirname . '/' . $file);
                 }
             }
         }
         closedir($dp);
         if ($rm_self) {
             rmdir($dirname);
         }
     }
     return true;
 }
示例#3
0
	function RemoveDir($dir_name)
	{
		clearstatcache();
		if(is_dir($dir_name) == false)Return false;
		$dir_handle = opendir($dir_name);
		while(($file = readdir($dir_handle)) !== false)
		{
			if($file != '.' and $file != "..")
			{
				clearstatcache();
				if(is_dir($dir_name . '/' . $file))
				{
					IoHandler::RemoveDir($dir_name . '/' . $file);
				}
				if(is_file($dir_name . '/' . $file))
				{
					IoHandler::DeleteFile($dir_name . '/' . $file);
				}
			}
		}
		closedir($dir_handle);
		rmdir($dir_name);
		Return true;
	}