首页 > php教程 > PHP源码 > 正文

php快速删除目录及目录中的文件,比ftp还要快

PHP中文网
发布: 2016-05-25 17:12:51
原创
1191人浏览过

php快速删除目录及目录中的文件,比ftp还要快

<?php
header("content-Type: text/html; charset=utf-8");
//配置开始
$path=".";//在些设置所删除的目录.为当前目录 如:删除path目录,引号里请添path;
$guolv="del.php,install.php,path";//设置需要过滤的文件或文件夹用英文状态下,号分隔
//配置结束
if($_GET['action']=="del"){
	$file= array_values_recursive(recurdir($path,$guolv));
	foreach($file as $k => $v){
		remove_directory($v);
	}
}else{
	echo "您的配置如下<br>
	要删除的目录为:
	";
	if($path==".")echo "当前目录";else echo $path;
	echo "<br>您要过滤的文件或文件夹有:".$guolv."<br>
	如果确认过滤请<a href='?action=del'>点击此处开始删除相应的目录及目录下的所有文件</a>,
	如果配置不正确请到文件中修改
	";
}


//删除目录及文件
function remove_directory($dir) {
  foreach(glob($dir) as $fn) { 
  		echo " removing $fn<br>\n";
		if (!is_writable($fn))@chmod($fn, 0777);
		if(is_dir($fn)){@rmdir($fn);}else{@unlink($fn);}
   } 
}
//扫描目录
function recurdir($pathname,$guolv='del.php')
{
	$result=array();$temp=array();
	//检查目录是否有效和可读
	if(!is_dir($pathname) || !is_readable($pathname))
	return null;
	//得到目录下的所有文件夹
	$allfiles=scandir($pathname);
	foreach($allfiles as $key => $filename)
	{
		//如果是“.”或者“..”的话则略过
		if(in_array($filename,array('.','..')))continue;
		if(count($guolv)>0){$lv=explode(",",$guolv);if(in_array($filename,$lv))continue;}
		
		//得到文件完整名字
		$fullname =$pathname . "/" .$filename;
		//如果该文件是目录的话,递归调用recurdir
		$temp[]=$fullname;
		if(is_dir($fullname)){
			$nowpath=explode("/",$fullname);
			if(count($guolv)>0){$lv=explode(",",$guolv);
			if(in_array($nowpath[count($nowpath)-1],$lv))continue;}
			$result[$filename] = recurdir($fullname);}
	}	
	//最后把临时数组中的内容添加到结果数组,确保目录在前,文件在后
	foreach($temp as $f){
		$result[]=$f;
	}
	return $result;
}
//获取所有文件
function array_values_recursive($ary)
{
   $lst = array();
   foreach( array_keys($ary) as $k ){
	 $v = $ary[$k];
	 if (is_array($v)) {$lst = array_merge( $lst, array_values_recursive($v));}else{$lst[] = $v;}
   }
   return $lst;
}
?>
登录后复制

                      

 以上就是 php快速删除目录及目录中的文件,比ftp还要快的内容,更多相关内容请关注PHP中文网(www.php.cn)!

X-Node企业快速建站1.0.6.0801
X-Node企业快速建站1.0.6.0801

特色介绍: 1、ASP+XML+XSLT开发,代码、界面、样式全分离,可快速开发 2、支持语言包,支持多模板,ASP文件中无任何HTML or 中文 3、无限级分类,无限级菜单,自由排序 4、自定义版头(用于不规则页面) 5、自动查找无用的上传文件与空目录,并有回收站,可删除、还原、永久删除 6、增强的Cache管理,可单独管理单个Cache 7、以内存和XML做为Cache,兼顾性能与消耗 8、

X-Node企业快速建站1.0.6.0801 0
查看详情 X-Node企业快速建站1.0.6.0801

                

相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号