在admin项目的Common目录下common.php文件:
/**
* 删除xml目录下的所有xml文件
* string $fp 文件路径(不包括文件名)
* string $fn 文件名称(包括扩展名)
* boolean $type 是否关联到所有子目录
*/
function delXML($type=true,$fn='',$fp='./xml'){
if(!is_dir($fp)){
return 'nodir'; //被删除目录不存在
}else{
if(!is_empty_dir($fp)){//如果不是空的
$H = @ opendir($fp);
while(false !== ($_file=readdir($H))){
//检索目录
if(is_dir($fp."/".$_file) && $_file != "." && $_file!=".." && $_file!=="Thumbs.db"){
if($type){
if(!is_empty_dir($fp.'/'.$_file)){//如果不是,调用自身,不过是原来的路径+他下级的目录名
delXML($type,$fn,$fp."/".$_file);
}
if(is_empty_dir($fp.'/'.$_file)){//如果是空就直接删除
rmdir($fp.'/'.$_file);
}
}
//检索文件
}else if(is_file($fp."/".$_file) && $_file!="." && $_file!=".." && $_file!=="Thumbs.db"){
if(eregi('/'.$file,'/'.$_file)){
if(!unlink($fp.'/'.$_file)){
return false; //删除失败
}
}
}
}
closedir($H);
}
return true; //删除失败
}
}
//判断目录是否为空,true为空,false为不空
function is_empty_dir($fp)
{
$H = @ opendir($fp);
$i=0;
while($_file=readdir($H)){
$i++;
}
closedir($H);
if($i>2){
return false;
}else{
return true;
}
}
调用方法:
在admin项目的Action目录下SiteMapAction.class.php文件:
class SiteMapAction extends Action {
//删除全部xml目录地图文件
function delXML(){
$flag = delXML();
exit($flag);
}
}
静态页面ajax方法:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="../Public/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" charset="utf-8" src="__PUBLIC__/js/artDialog/artDialog.min.js"></script>
<title>删除目录文件</title>
</head>
<body>
<script language="javascript">
function delXML(){
if(!window.confirm('确定要删除整站地图吗?')){
return;
}
var testDialog;
testDialog = art.dialog({
lock: false,
title:'',
id:'loaddialog',
content:'<font color="#ff0000">正在删除中...</font>',
width:220
});
var url="{:U('delXML')}";
$.get(url,null,function(data){
//$("#con").append(data);
testDialog.close();
if(data == true){
alert('删除成功!');
}else if(data == false){
alert('删除失败,请稍候再试...');
}else if(data == 'nodir'){
alert('错误:被删除目录不存在');
}
});
}
</script>
<input name="delete" type="button" class="agin agn" value="全删除" onClick="javascript:return delXML();"/>
</body>
</html>