在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>
分享到:
相关推荐
首先,ThinkPHP5.0具有独特的安装方式和开发规范,支持命令行的安装操作,拥有清晰的目录结构。其开发规范遵循PSR-2和PSR-4,且与Composer和单元测试兼容,这保证了其的高效开发和维护性。 在配置架构方面,...
ThinkPHP5.0在模板和视图方面提供了丰富的功能,包括模板实例化、模板引擎、模板赋值、模板渲染输出、替换模板定位、模板标签、变量输出、系统变量、请求参数使用函数、使用默认值、使用运算符、三元运算、原样输出...
- **URL访问**:阐述了ThinkPHP5.0中的URL访问机制,包括路由匹配逻辑等。 #### 三、核心技术实现 - **模块设计**:讲解了如何利用ThinkPHP5.0设计模块化的应用程序。 - **命名空间**:介绍如何使用命名空间来避免...
然后判断路径是否指向一个目录,如果是目录,则通过opendir函数打开目录,并遍历目录下的每一个文件或子目录。对于每一个文件或子目录,再次调用rmFile方法来删除。如果rmFile方法遇到了目录,那么它将递归地删除该...
开发手册详细介绍了ThinkPHP5.0的安装、开发规范、目录结构、配置、路由架构、生命周期、入口文件、URL访问、模块设计、命名空间、自动加载、Traits引入、API友好、多层MVC架构等基础知识,并提供实例代码案例,帮助...
1. **基础安装**:介绍如何安装ThinkPHP5.0,包括设置环境、下载框架、配置服务器以及初始化项目。 2. **ThinkPHP开发规范**:遵循PSR-2和PSR-4编码规范,支持Composer管理和单元测试,确保代码质量与可维护性。 3...
ThinkPHP5.0提供了详尽的开发手册,手册包含了对安装、开发规范、目录结构、基础架构配置、生命周期、入口文件、URL访问、模块设计、命名空间、自动加载、引入API友好配置目录、配置格式、配置加载、读取配置、动态...
这是`Dir.class.php`的核心功能之一,它能够递归删除目录及其所有子目录和文件,而不仅仅是删除空目录。 `Dir::isEmpty()`方法的作用在于避免尝试删除已经为空的目录,防止不必要的错误提示。如果路径为空,`del`...
它接收一个目录路径作为参数,打开该目录,遍历其中的所有文件和子目录。对于每个非`.`和`..`的项,如果它是目录,就递归调用自身;如果是文件,就使用`unlink`函数删除。最后,如果整个目录清空并成功删除,函数...
1. `scandir($path)`:这个函数用于遍历指定路径 `$path` 下的所有文件和子目录,并返回一个包含这些元素的数组。数组中通常会包含两个特殊项:`.`(当前目录)和`..`(上一级目录),所以在处理返回的结果时,我们...
根据网络上的建议,开发人员首先尝试清空缓存,包括删除Cache目录下的文件以及app.php和runtime.php这两个配置文件,希望通过这种方式清除可能存在的缓存令牌信息。然而,这种方法在某些情况下可能并不奏效。 另外...
- **目录结构**:包括应用目录、框架目录等,清晰地组织项目文件。 - **架构概述**:MVC模式下的模块化设计,包括模型(Model)、视图(View)和控制器(Controller)。 - **生命周期**:应用程序的启动流程,从入口文件到...
ThinkPHP框架结合Ajax技术可以实现动态的级联下拉菜单,这种实现方式非常适合具有层级关系的数据展示,例如地区选择、分类目录等。在本篇心得分享中,作者将详细介绍如何利用ThinkPHP框架和Ajax技术来实现二级联动...
`destroy()`方法用于完全结束一个Session,包括清除所有Session数据和Session ID。 5. **获取Session值**: `get()`方法用于获取指定的Session变量值,例如`Session::get('name')`将返回名为'name'的Session变量...
ThinkPHP5.0也提供了强大的模板功能,包括视图模板、模板实例化、模板引擎、模板赋值、模板渲染、输出替换、模板定位、模板标签、变量输出、系统变量、请求参数、使用函数、使用默认值、使用运算符、三元运算、原样...
- **高级查询**:包括子查询、视图查询、分布式数据库查询等功能。 - **事务操作**:支持事务管理,确保数据的一致性和完整性。 - **监听 SQL**:可以记录 SQL 执行情况,方便调试和优化。 - **存储过程**:支持调用...