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文的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did27786