在php中删除文件与目录其实很简单只要两个函数一个是unlink一个rmdir函数,如果要实现删除目录及目录下的文件我们需要利用递归来操作.本文主要和大家介绍了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!='.') && ($a!='..')){unlink($pathdir.'/'.$a);} //如果是文件就直接删除 if(is_dir($pathdir.'/'.$a) && ($a!='.') && ($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 false;} else return true; }
PHP删除目录及目录下所有文件,代码如下:
<?php //循环删除目录和文件函数 function delDirAndFile( $dirName ) { if ( $handle = opendir( “$dirName” ) ) { while ( false !== ( $item = readdir( $handle ) ) ) { if ( $item != “.” && $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 “成功删除目录: $dirName<br />n”; } } //假设需要删除一个名叫”upload”的同级目录即此目录下的所有文件,你可以通过以下代码完成: delDirAndFile( ‘upload'); ?>
相关推荐:
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
php中unlink()、mkdir()、rmdir()等的用法介绍
以上就是PHP的unlink与rmdir删除目录及目录下所有文件方法的详细内容,更多请关注php中文网其它相关文章!
已抢61931个
抢已抢110634个
抢已抢133273个
抢已抢32064个
抢已抢19335个
抢