PHP:如何检查文件是否存在或权限被拒绝? [英] PHP: How to check if file not exists or permission is denied?

查看:169
本文介绍了PHP:如何检查文件是否存在或权限被拒绝?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想检查文件是否存在。当 file_exists()函数返回 false 我无法确定文件是否存在或者我不有权限的文件。



如何辨别这两种可能性?

解决方案

我写了检查文件是否存在的函数。如果文件系统中没有这样的文件,则返回false,否则返回true。我的功能检查(自下而上)目录结构。一个应该相当确信存在 $ root 目录。

 私人功能fileCanExists($ root,$ path){
$ root。='/';
if(file_exists($ root。$ path))
return true;
while($ path!='。'){
$ path = dirname($ path);
如果(file_exists($ root。$ path)){
if(is_readable($ root。$ path))
return false;
else
返回true;
}
}
return false;

$ / code $ / pre

这就是我写的时候的意思:


我想检查文件是否存在。



I want to check if file do not exists. When file_exists() function returns false I can't be sure if the file do not exist or I don't have permission to the file.

How to discern that two possibilities?

解决方案

I wrote function which check if file can exists. It return false if there is no such file in filesystem, otherwise it returns true. My function checks (bottom-up) directory structure. One should be fairly sure that $root directory exists.

private function fileCanExists($root, $path) {
    $root .= '/';
    if (file_exists($root . $path))
        return true;
    while ($path != '.') {
        $path = dirname($path);
        if (file_exists($root . $path)) {
            if (is_readable($root . $path))
                return false;
            else
                return true;
        }
    }
    return false;
}

That is what mean when I wrote:

I want to check if file do not exists.

这篇关于PHP:如何检查文件是否存在或权限被拒绝?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆