警告:unlink() 资源暂时不可用

Posted

技术标签:

【中文标题】警告:unlink() 资源暂时不可用【英文标题】:Warning:unlink() Resource temporarily unavailable 【发布时间】: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。

提前致谢

【问题讨论】:

【参考方案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);

【讨论】:

以上是关于警告:unlink() 资源暂时不可用的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu安装时出现11:资源暂时不可用

接受错误:资源暂时不可用

markdown fork:retry:资源暂时不可用

使用 uwsgi + nginx 资源暂时不可用

资源暂时不可用,UDP socket

读取套接字:EAGAIN:资源暂时不可用