探讨PHP删除文件夹的三种方法

2015-01-24信息快讯网

本篇文章是对PHP删除文件夹的三种方法进行了详细的分析介绍,需要的朋友参考下

1、递归法
deleteDir($dir)
{
if (rmdir($dir)==false && is_dir($dir)) {
    if ($dp = opendir($dir)) {
     while (($file=readdir($dp)) != false) {
      if (is_dir($file) && $file!='.' && $file!='..') {
       deleteDir($file);
      } else {
       unlink($file);
      }
     }
     closedir($dp);
    } else {
     exit('Not permission');
    }
}
}

2、系统调用法
function del_dir($dir)
{
if(strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
       $str = "rmdir /s/q " . $dir;
} else {
       $str = "rm -Rf " . $dir;
}
}

3、循环法
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二维数组排序方法(array_multisort usort)
php缩小png图片不损失透明色的解决方法
php查看请求头信息获取远程图片大小的方法分享
php对数组排序的简单实例
ubuntu12.04使用c编写php扩展模块教程分享
php递归获取目录内文件(包含子目录)封装类分享
输入值/表单提交参数过滤有效防止sql注入的方法
zend framework文件上传功能实例代码
php文字水印和php图片水印实现代码(二种加水印方法)
php jquery 多文件上传简单实例
php读取csv实现csv文件下载功能
php文件上传的例子及参数详解
php一次性删除前台checkbox多选内容的方法
php 删除目录下N分钟前创建的所有文件的实现代码
注意:php5.4删除了session_unregister函数
PHP删除数组中特定元素的两种方法
PHP删除HTMl标签的三种解决方法
linux环境apache多端口配置虚拟主机的方法深入介绍
如何用php获取文件名后缀
深入php多态的实现详解
深入PHP autoload机制的详解
定义php常量的详解
基于php冒泡排序算法的深入理解
探讨捕获php错误信息方法的详解
使用迭代器 遍历文件信息的详解
PHP跳转页面的几种实现方法详解
php遍历所有文件及文件夹的方法深入解析
探讨php中遍历二维数组的几种方法详解
基于PHP遍历数组的方法汇总分析
解析PHP中如何将数组变量写入文件
PHP转换文件夹下所有文件编码的实现代码
PHP删除目录及目录下所有文件的方法详解
在PHP中设置、使用、删除Cookie的解决方法
php 目录遍历、删除 函数的使用介绍
PHP删除非空目录的函数代码小结
php处理文件的小例子(解压缩,删除目录)
©2014-2024 dbsqp.com