首页 > 编程知识 正文

php删除文件夹及文件函数,php 删除文件夹

时间:2023-12-28 11:57:10 阅读:328403 作者:NZBE

本文目录一览:

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

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所在路径的二种方法

php如何删除目录下的文件和文件夹

function delDirAndFile( $dirName ) //定义函数名{if ( $handle = opendir( "$dirName" ) ) { //打开文件夹

rmdir( "$dirName/$item" );} else {if( unlink( "$dirName/$item" ) )echo "成功删除文件: $dirName/$itemn";}}}closedir( $handle );

if( rmdir( $dirName ) )echo "成功删除目录: $dirNamen";}}//下面是使用此函数删除PHP目录下的所有文件和文件夹,包含php文件夹的

php删除文件夹操作函数和几种方式实例代码汇总

先看一下代码

复制代码 代码如下:

?

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怎么删除文件夹和文件夹下的所有文件

正常的思路来说,先循环删除文件夹下的所有文件,当没有文件时再删除文件夹,如果你要删除文件夹和所有文件直接本地删除就好了,但是一般没有这种操作。删除文件可以用unlink($filepath)函数,$filepath是文件路径,然后还有一个封装函数rm_empty_dir($path)删除所有空目录:

/** 删除所有空目录

* @param String $path 目录路径

*/

function rm_empty_dir($path){

if(is_dir($path) ($handle = opendir($path))!==false){

while(($file=readdir($handle))!==false){// 遍历文件夹

if($file!='.' $file!='..'){

$curfile = $path.'/'.$file;// 当前目录

if(is_dir($curfile)){// 目录

rm_empty_dir($curfile);// 如果是目录则继续遍历

if(count(scandir($curfile))==2){//目录为空,=2是因为.和..存在

rmdir($curfile);// 删除空目录

}

}

}

}

closedir($handle);

}

}

具体的还要你自己稍加修改,希望可以帮到你。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。