`

thinkphp清空所有目录(包括子目录)

阅读更多
在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>

 

0
1
分享到:
评论

相关推荐

    ThinkPHP5.0完全开发手册

    首先,ThinkPHP5.0具有独特的安装方式和开发规范,支持命令行的安装操作,拥有清晰的目录结构。其开发规范遵循PSR-2和PSR-4,且与Composer和单元测试兼容,这保证了其的高效开发和维护性。 在配置架构方面,...

    ThinkPHP5.0手册.pdf

    ThinkPHP5.0在模板和视图方面提供了丰富的功能,包括模板实例化、模板引擎、模板赋值、模板渲染输出、替换模板定位、模板标签、变量输出、系统变量、请求参数使用函数、使用默认值、使用运算符、三元运算、原样输出...

    ThinkPHP5完全开发手册

    - **URL访问**:阐述了ThinkPHP5.0中的URL访问机制,包括路由匹配逻辑等。 #### 三、核心技术实现 - **模块设计**:讲解了如何利用ThinkPHP5.0设计模块化的应用程序。 - **命名空间**:介绍如何使用命名空间来避免...

    ThinkPHP实现一键清除缓存方法

    然后判断路径是否指向一个目录,如果是目录,则通过opendir函数打开目录,并遍历目录下的每一个文件或子目录。对于每一个文件或子目录,再次调用rmFile方法来删除。如果rmFile方法遇到了目录,那么它将递归地删除该...

    ThinkPHP5.0完全开发手册.pdf

    开发手册详细介绍了ThinkPHP5.0的安装、开发规范、目录结构、配置、路由架构、生命周期、入口文件、URL访问、模块设计、命名空间、自动加载、Traits引入、API友好、多层MVC架构等基础知识,并提供实例代码案例,帮助...

    ThinkPHP5.0完全开发手册1

    1. **基础安装**:介绍如何安装ThinkPHP5.0,包括设置环境、下载框架、配置服务器以及初始化项目。 2. **ThinkPHP开发规范**:遵循PSR-2和PSR-4编码规范,支持Composer管理和单元测试,确保代码质量与可维护性。 3...

    ThinkPHP5.0完全开发手册-07171040.pdf

    ThinkPHP5.0提供了详尽的开发手册,手册包含了对安装、开发规范、目录结构、基础架构配置、生命周期、入口文件、URL访问、模块设计、命名空间、自动加载、引入API友好配置目录、配置格式、配置加载、读取配置、动态...

    thinkphp文件处理类Dir.class.php的用法分析

    这是`Dir.class.php`的核心功能之一,它能够递归删除目录及其所有子目录和文件,而不仅仅是删除空目录。 `Dir::isEmpty()`方法的作用在于避免尝试删除已经为空的目录,防止不必要的错误提示。如果路径为空,`del`...

    TP5(thinkPHP框架)实现后台清除缓存功能示例

    它接收一个目录路径作为参数,打开该目录,遍历其中的所有文件和子目录。对于每个非`.`和`..`的项,如果它是目录,就递归调用自身;如果是文件,就使用`unlink`函数删除。最后,如果整个目录清空并成功删除,函数...

    php删除一个路径下的所有文件夹和文件的方法

    1. `scandir($path)`:这个函数用于遍历指定路径 `$path` 下的所有文件和子目录,并返回一个包含这些元素的数组。数组中通常会包含两个特殊项:`.`(当前目录)和`..`(上一级目录),所以在处理返回的结果时,我们...

    ThinkPHP表单令牌错误的相关解决方法分析

    根据网络上的建议,开发人员首先尝试清空缓存,包括删除Cache目录下的文件以及app.php和runtime.php这两个配置文件,希望通过这种方式清除可能存在的缓存令牌信息。然而,这种方法在某些情况下可能并不奏效。 另外...

    Think PHP5.0完全开发手册Word版本

    - **目录结构**:包括应用目录、框架目录等,清晰地组织项目文件。 - **架构概述**:MVC模式下的模块化设计,包括模型(Model)、视图(View)和控制器(Controller)。 - **生命周期**:应用程序的启动流程,从入口文件到...

    ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单

    ThinkPHP框架结合Ajax技术可以实现动态的级联下拉菜单,这种实现方式非常适合具有层级关系的数据展示,例如地区选择、分类目录等。在本篇心得分享中,作者将详细介绍如何利用ThinkPHP框架和Ajax技术来实现二级联动...

    ThinkPHP关于session的操作方法汇总

    `destroy()`方法用于完全结束一个Session,包括清除所有Session数据和Session ID。 5. **获取Session值**: `get()`方法用于获取指定的Session变量值,例如`Session::get('name')`将返回名为'name'的Session变量...

    TinkPHP5.0完全开发手册

    ThinkPHP5.0也提供了强大的模板功能,包括视图模板、模板实例化、模板引擎、模板赋值、模板渲染、输出替换、模板定位、模板标签、变量输出、系统变量、请求参数、使用函数、使用默认值、使用运算符、三元运算、原样...

    TP5.0完全开发手册WORD版

    - **高级查询**:包括子查询、视图查询、分布式数据库查询等功能。 - **事务操作**:支持事务管理,确保数据的一致性和完整性。 - **监听 SQL**:可以记录 SQL 执行情况,方便调试和优化。 - **存储过程**:支持调用...

Global site tag (gtag.js) - Google Analytics