【问题标题】:Delete Directory and All Files Within [duplicate]删除目录和[重复]中的所有文件
【发布时间】:2014-12-12 13:00:36
【问题描述】:

我使用以下行在我的服务器上创建了一个目录:

mkdir("/var/www/cache/$directory", 0700);

然后我用这个复制了一些文件:

copy($remote, $local);

现在我试图用这个删除目录及其所有文件,但它不起作用:

$local = "/var/www/cache/$directory";
$removed = unlink($local);

有没有办法用单行而不是 for 循环或类似的方法来做到这一点?

【问题讨论】:

    标签: php file directory copy unlink


    【解决方案1】:

    您可以使用 php 中的 RecursiveIteratorIterator 类来做到这一点。

    here 的一个简单示例是

    $files = new RecursiveIteratorIterator(
    new RecursiveDirectoryIterator($dir, RecursiveDirectoryIterator::SKIP_DOTS),
    RecursiveIteratorIterator::CHILD_FIRST
    );
    
    foreach ($files as $fileinfo) {
    $todo = ($fileinfo->isDir() ? 'rmdir' : 'unlink');
    $todo($fileinfo->getRealPath());
    }
    
    rmdir($dir);
    

    here也描述了很多方法..

    【讨论】:

      猜你喜欢
      • 2023-03-07
      • 2015-10-08
      • 2013-05-16
      • 2010-11-05
      • 2014-10-27
      • 1970-01-01
      • 2013-07-31
      • 2010-11-12
      • 1970-01-01
      相关资源
      最近更新 更多