file_exists&is_file无法正常工作

Pil*_*lot 1 php sqlite

我正在使用此代码:

$DataSourceName = "..\Log4OM\Log4OM-Active.SQLite";
if(!file_exists($DataSourceName))
{
    $Msg = sprintf("%s does not exist", $DataSourceName);
    die($Msg);
}
Run Code Online (Sandbox Code Playgroud)

该文件确实存在,这条路径一直工作到今天早上.现在测试失败,应用程序死了."is_file"不会更好.

我也使用这段代码:

$connection = new PDO("sqlite:".$DataSourceName);
    // Set errormode to exceptions
$connection->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
Run Code Online (Sandbox Code Playgroud)

这实际上打开了文件,应用程序正常运行.我知道这是因为我击败了第一个尝试它的测试.不幸的是,在我到达"$ connection ="行之前,第一次测试必须通过.

我也试过fopen,无法打开文件.文件名实际上是真实文件的硬链接,但替换真实文件名也有同样的问题.文件权限看起来是正确的,与几天前一样.

Una*_*rai 5

不要依赖目录"走路".始终指定您从哪里开始的根(例如)__DIR__

$DataSourceName = __DIR__ . "\..\Log4OM\Log4OM-Active.SQLite";
if(!file_exists($DataSourceName))
{
    $Msg = sprintf("%s does not exist", $DataSourceName);
    die($Msg);
}
Run Code Online (Sandbox Code Playgroud)