0

使用file_exists() 时,它总是返回 false。但该文件实际存在并且可以使用require. 这是我的代码:

// Creating dependency lists.
$data_dependency = array("mysql", "oracle", "postgresql", "sqlite", "access");

// Calling the dependecny files.
foreach ($data_dependency as $list) {
    $list = "class.data.$list.php";
    _system::debug("Calling required class $list ...");

    if (file_exists($list)) {
        include($list);
        _system::debug("Calling $list was successfull.");
    } else {
        _system::debug("Calling $list was failed. Now we close the system load.");
        exit("Calling $list was failed. Now we close the system load.");
    }
}

当我加载页面时,页面总是exit(). 我认为原因是file_exists()函数总是返回false。

4

4 回答 4

2

此函数返回FALSE由于安全模式限制而无法访问的文件。

使用$_SERVER['DOCUMENT_ROOT']文件路径中的变量。

于 2014-09-17T13:09:33.533 回答
1

尝试使用相对路径ex : $_SERVER['DOCUMENT_ROOT']而不是绝对路径

于 2015-11-03T07:14:04.533 回答
0

关于file_exists() Php.net 指出

对于由于安全模式限制而无法访问的文件,此函数返回 FALSE。但是,如果这些文件位于 safe_mode_include_dir 中,仍然可以包含这些文件。

这可以解释包含有效而存在检查无效的事实。

http://www.php.net/manual/en/function.file-exists.php

于 2013-03-23T14:22:01.363 回答
-1

$list在您的 foreach 循环中可能设置不正确。你试过$list="class.data.".$list.".php";吗?

于 2013-03-23T14:17:55.887 回答