【问题标题】:Warning:unlink() Resource temporarily unavailable警告:unlink() 资源暂时不可用
【发布时间】:2018-06-20 10:21:55
【问题描述】:

当我调用rrmdir(),删除一个目录及其所有子文件夹时 给出警告:

“警告:取消链接(C:\congreaaws\tmp\mfpXeLhshG6puztQbamygpB1CqowIzL7ajS5Se8a\12323\076a12b3-9052-404a-9cd1-cfb62adf62c1\mod.pptx): C:\congreaaws\conversion.php 中的资源暂时不可用 第 196 行"

function rrmdir($dir) {
  // echo $dir; exit;
    if (is_dir($dir)) {
        $objects = scandir($dir);
        foreach ($objects as $object) {
            if ($object != "." && $object != "..") {
                if (is_dir($dir . "/" . $object))
                    rrmdir($dir . "/" . $object);
                else
                    unlink($dir . "/" . $object);
            }
        }
        rmdir($dir);
    }
}

上面的函数在centos中可以工作,但是在windows下它不工作我使用iis服务器来运行php。

提前致谢

【问题讨论】:

    标签: php phpmyadmin


    【解决方案1】:

    使用下面的代码,我相信它会解决你的问题。

    将此函数添加到您的函数文件中

    function delete_directory($dirPath){
            $dir = $dirPath;   
            if(is_dir($dir)){
                $files = new RecursiveIteratorIterator(
                    new RecursiveDirectoryIterator($dir, RecursiveDirectoryIterator::SKIP_DOTS), RecursiveIteratorIterator::CHILD_FIRST
                );
                foreach($files as $file){
                    if ($file->isDir()){
                        rmdir($file->getRealPath());
                    }else{
                        unlink($file->getRealPath());
                    }
                }
                rmdir($dir);
            }
        }
    

    如何使用

    delete_directory($dir);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-21
      • 2018-08-04
      • 2021-05-07
      • 2018-02-24
      • 2016-01-25
      • 2012-04-25
      • 2018-03-11
      相关资源
      最近更新 更多