前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP unlink与rmdir删除目录及目录下所有文件实例代码

PHP unlink与rmdir删除目录及目录下所有文件实例代码

作者头像
用户8675788
修改2021-07-14 11:34:11
1.3K0
修改2021-07-14 11:34:11
举报
文章被收录于专栏:鹿苑鹿苑

在php中删除文件与目录其实很简单只要两个函数一个是unlink一个rmdir函数,如果要实现删除目录及目录下的文件我们需要利用递归来操作.

函数代码:仅删除指定目录下的文件,不删除目录文件夹,代码如下:

class shanchu {

//循环目录下的所有文件

function delFileUnderDir( $dirName=”../Smarty/templates/templates_c” )

{

if ( $handle = opendir( “$dirName” ) ) {

while ( false !== ( $item = readdir( $handle ) ) ) {

if ( $item != “.” && $item != “..” ) {

if ( is_dir( “$dirName/$item” ) ) {

delFileUnderDir( “$dirName/$item” );

} else {//开源代码phpfensi.com

if( unlink( “$dirName/$item” ) )echo “成功删除文件: $dirName/$item<br />n”;

}

}

}

closedir( $handle );

}

}

}

假设需要删除一个名叫”upload”目录下的所有文件,但无需删除目录文件夹,你可以通过以下代码完成:

<?php delFileUnderDir( ‘upload');?>

php删除所有目录,代码如下:

function deltree($pathdir)

{

echo $pathdir;//调试时用的

if(is_empty_dir($pathdir))//如果是空的

{

rmdir($pathdir);//直接删除

}

else

{//否则读这个目录,除了.和..外

$d=dir($pathdir);

while($a=$d->read())

{

if(is_file($pathdir.'/'.$a) && ($a!='.') &amp;&amp; ($a!='..')){unlink($pathdir.'/'.$a);}

//如果是文件就直接删除

if(is_dir($pathdir.'/'.$a) && ($a!='.') &amp;&amp; ($a!='..'))

{//如果是目录

if(!is_empty_dir($pathdir.'/'.$a))//是否为空

{//如果不是,调用自身,不过是原来的路径+他下级的目录名

deltree($pathdir.'/'.$a);

}

if(is_empty_dir($pathdir.'/'.$a))

{//如果是空就直接删除

rmdir($pathdir.'/'.$a);

}

}

}

$d->close();

echo "必须先删除目录下的所有文件";//我调试时用的

}

}

function is_empty_dir($pathdir)

{

//判断目录是否为空

$d=opendir($pathdir);

$i=0;

while($a=readdir($d))

{

$i++;

}

closedir($d);

if($i>2){return fa/

/lse;}

else return true;

}

PHP删除目录及目录下所有文件,代码如下:

<?php

//循环删除目录和文件函数

function delDirAndFile( $dirName )

{

if ( $handle = opendir( “$dirName” ) ) {

while ( false !== ( $item = readdir( $handle ) ) ) {

if ( $item != “.” &amp;&amp; $item != “..” ) {

if ( is_dir( “$dirName/$item” ) ) {

delDirAndFile( “$dirName/$item” );

} else {

if( unlink( “$dirName/$item” ) )echo “成功删除文件: $dirName/$item<br />n”;

}

}

}

closedir( $handle );

if( rmdir( $dirName ) )echo “成功删除目录: $d/

/irName<br />n”;

}

}

//假设需要删除一个名叫”upload”的同级目录即此目录下的所有文件,你可以通过以下代码完成:

delDirAndFile( ‘upload');

?>

以上所述是小编给大家介绍的PHP unlink与rmdir删除目录及目录下所有文件实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档