PHP file_exists($ var)不起作用

Ale*_*lex 3 php file-io

我正在尝试在我的笔记本上编写一些代码并使用xampp环境.我有以下代码:

class A {
...
  foreach ($blocks as $block) {
    $block = 'dir/dir2/' . $block;
  }
  if (file_exists($block) == true) {
    $var .= file_get_contents($block);
  }
}
Run Code Online (Sandbox Code Playgroud)

当我在foreach循环中回显$ block变量时,它会返回文件的路径.但是,file_exists函数始终返回false.你能帮我弄清楚这里有什么问题吗?

jer*_*ome 8

file_exists目的是检查提供的文件是否存在.这是假的.这意味着你的文件不存在于php所在的位置.php可能正在寻找与您预期不同的区域.看起来是时候进行一些调试了.

运行它来找出php正在寻找的位置.

echo "current working directory is -> ". getcwd();
Run Code Online (Sandbox Code Playgroud)

那是你想要php看的地方吗?如果没有,那么改变目录php正在查看该chdir功能.

$searchdirectory = "c:\path\to\your\directory"; //use unix style paths if necessary
chdir($searchdirectory);
Run Code Online (Sandbox Code Playgroud)

然后运行你的函数(注意:我将斜杠翻转为反斜杠,以便与windows样式路径保持一致.)

class A {
...
  //change working directory
  $searchdirectory = "c:\path\to\your\directory"; //use unix style paths if necessary
  chdir($searchdirectory);

  foreach ($blocks as $block) {
    $block = 'dir\dir2\' . $block;

    if (file_exists($block) == true) {
      $var .= file_get_contents($block);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)