我正在使用Minecraft服务器仪表板,其中一个功能是备份和恢复您的世界(目录).我已经有了一个函数(见下文),但是,正如你可能看到的那样,代码非常糟糕.谁知道更好,更清洁的功能?
function backupOrRestoreWorld($source,$target){
foreach(glob($target.'*.*')as$v){
unlink($v);
}
if(is_dir($source)){
@mkdir($target);
$d=dir($source);
while(FALSE!==($entry=$d->read())){
if($entry=='.'||$entry=='..'){
continue;
}
$Entry=$source.'/'.$entry;
if(is_dir($Entry)){
backupOrRestoreWorld($Entry,$target.'/'.$entry);
continue;
}
copy($Entry,$target.'/'.$entry);
}
$d->close();
}
else{
copy($source,$target);
}
if($source == "server/world"){
return "World backed up.";
}
else {
return "World restored from backup.";
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4234 次 |
| 最近记录: |