取消连接失败以及如何检查的所有可能原因是什么?

时间:2015-12-10 09:19:54

标签: php file-permissions file-exists unlink

我想要一个列表或代码块来进行所有必要的检查,以防止和取消链接函数抛出错误。越详细越好,因为我希望这个问题能解决很多人的问题。

错误的原因

  1. 文件不存在
  2. 文件无法写入
  3. 包含目录不可写@marc-anton-dahmen answer
  4. 文件打开/正在使用
  5. 这是我到目前为止所拥有的

    if(is_actually_file($file)){ 
    
        if(is_writable($file) && is_writable(dirname($file))) {
    
            unlink($file);
    
        } else {
    
            // insufficient file permissions
        }
    
    } else {
        // file doesn't exist
    }
    
    
    function is_actually_file($file){
    
        clearstatcache(true, $file);
        return is_file($file);
    }
    

    还有哪些原因导致失败以及如何检查?

    unlink source code

1 个答案:

答案 0 :(得分:1)

is_writable包含file_exists支票。但是你必须检查包含目录是否也是可写的。 这应该这样做:

if (is_writable($file) && is_writable(dirname($file))) {
    unlink($file);
} else {
    //...
}