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

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

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

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)!

doxygen 官方手册
doxygen 官方手册

doxygen是一款好用的程序员辅助工具,它可以让程序添加批添代码更加简单轻松,兼容C++、 C、Java、 Objective-C、Python等主流编程语言,小编提供的doxygen中文手册包含了基本介绍、语法技巧以及进阶技巧等内容,可以让你快速上手操作,有需要的欢迎下载。 基本介绍 Doxygen已经支持生成ANSI编码的chm目录文件(index.hhc)!Doxygen通常是用作生成英文文档的,生成中文文档需要修改输入和输出的码制,这样可以改变解析方式,生成中文文档。但是,你必须意识 到,Dox

doxygen 官方手册 0
查看详情 doxygen 官方手册

                

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

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

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

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