PHP unlink与rmdir删除目录及目录下所有文件
在php中删除文件与目录其实很简单只要两个函数一个是unlink一个rmdir函数,如果要实现删除目录及目录下的文件我们需要利用递归来操作.
函数代码:仅删除指定目录下的文件,不删除目录文件夹,代码如下:
<?php 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 { //开源代码phprm.com if (unlink("$dirName/$item")) echo "成功删除文件: $dirName/$item<br />n"; } } } closedir($handle); } } } ?>
假设需要删除一个名叫"upload"目录下的所有文件,但无需删除目录文件夹,你可以通过以下代码完成:
<?php delFileUnderDir('upload'); ?>
php删除所有目录,代码如下:
<?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'); ?>
本文地址:http://www.phprm.com/wenjian/fs4933.html
转载随意,但请附上文章地址:-)