检查目录是否存在于PHP中

Gra*_*ton 24 php file-io

我知道,我知道,这听起来容易.但我似乎无法在互联网上找到正确的答案.

我找到的解决方案之一是使用is_dir.

if(is_dir($dir))
  echo 'directory exists';
else
  echo 'drectory not exist';
Run Code Online (Sandbox Code Playgroud)

但这是错误的 - 所有这个功能都是检查是否$dir是目录,它不检查目录是否存在.换句话说,如果我把:

$rootDir = "C:\\Documents and Settings\\test\\My Documents\\Image Directory\\Me Dog\\";
Run Code Online (Sandbox Code Playgroud)

然后该函数将返回true,即使您在Web服务器上找不到此类目录.

有任何想法吗?

var*_*tec 53

应该正常工作.来自is_dir()文档:

如果文件名存在且为目录,则返回TRUE ,否则返回FALSE.

好吧,无论如何它不试试这个:

if(file_exists($dir) && is_dir($dir))
Run Code Online (Sandbox Code Playgroud)

BTW.这些函数的结果缓存在stat缓存中.使用clearstatcache()清理该缓存.

  • 为clearstatcache信息+1,总是有用的知道 (5认同)