复制代码 代码如下:
<?
function deldir($dir) {
//先删除目录下的文件:
$dh=opendir($dir)
while ($file=readdir($dh)) {
if($file!="." &&$file!="..") {
$fullpath=$dir."/".$file
if(!is_dir($fullpath)) {
unlink($fullpath)
} else {
deldir($fullpath)
}
}
}
closedir($dh)
//删除当前文件夹:
if(rmdir($dir)) {
return true
} else {
return false
}
}
?>
unlink() 函数用于删除文件。若成功,则返回 true,失败则返回 false。rmdir() 函数用于删除空的目录。它尝试删除 dir 所指定的目录。 该目录必须是空的,而且要有相应的权限。
一个实例:删除某个文件夹下的所有".svn"文件夹(包括其内容也要被删除)。
复制代码 代码如下:
<?php
function delsvn($dir) {
$dh=opendir($dir)
//找出所有".svn" 的文件夹:
while ($file=readdir($dh)) {
if($file!="." &&$file!="..") {
$fullpath=$dir."/".$file
if(is_dir($fullpath)) {
if($file==".svn"){
delsvndir($fullpath)
}else{
delsvn($fullpath)
}
}
}
}
closedir($dh)
}
function delsvndir($svndir){
//先删除目录下的文件:
$dh=opendir($svndir)
while($file=readdir($dh)){
if($file!="."&&$file!=".."){
$fullpath=$svndir."/".$file
if(is_dir($fullpath)){
delsvndir($fullpath)
}else{
unlink($fullpath)
}
}
}
closedir($dh)
//删除目录文件夹
if(rmdir($svndir)){
return true
}else{
return false
}
}
$dir=dirname(__FILE__)
//echo $dir
delsvn($dir)
?>
php遍历一个文件夹内的所有文件和文件夹,并删除所有文件夹和子文件夹下的所有文件的代码,通过递归方式实现达到清空一个目录的效果,代码简单实用。也适合在thinkphp中清理缓存,在thinkphp中可以把下面代码写入./Application/Admin/Common/function.php文件中,再在控制器调用这个函数进行清理 *** 作。
用到的函数:
scandir($path)
遍历一个文件夹所有文件并返回数组。
unlink($filename)
删除文件。
rmdir($path)
只删除空文件夹
<?php
//设置需要删除的文件夹
$path
=
"./Application/Runtime/"
//清空文件夹函数和清空文件夹后删除空文件夹函数的处理
function
deldir($path){
//如果是目录则继续
if(is_dir($path)){
//扫描一个文件夹内的所有文件夹和文件并返回数组
$p
=
scandir($path)
foreach($p
as
$val){
//排除目录中的.和..
if($val
!="."
&&
$val
!=".."){
//如果是目录则递归子目录,继续 *** 作
if(is_dir($path.$val)){
//子目录中 *** 作删除文件夹和文件
deldir($path.$val.'/')
//目录清空后删除空文件夹
@rmdir($path.$val.'/')
}else{
//如果是文件直接删除
unlink($path.$val)
}
}
}
}
}
//调用函数,传入路径
deldir($path)
总结
以上所述是小编给大家介绍的php删除一个路径下的所有文件夹和文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)php获取文件夹路径内的图片以及分页显示示例PHP获取文件相对路径的方法查找php配置文件php.ini所在路径的二种方法
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)