Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么glob()在目录为空时返回FALSE?_Php_Arrays_Glob - Fatal编程技术网

Php 为什么glob()在目录为空时返回FALSE?

Php 为什么glob()在目录为空时返回FALSE?,php,arrays,glob,Php,Arrays,Glob,我有一个名为my_folder的空文件夹: $mas = glob("my_folder/*"); var_dump($mas); 如果在myu文件夹中我有文件,则结果为数组,但如果myu文件夹为空,则结果为false 为什么结果是false而不是空数组()? 很可能您对my\u文件夹没有权限 也可能是因为(来自PHP手册): 在某些系统上,无法区分空匹配和错误 如果后一种情况是你的情况,我建议你退回到“方法”上来: while (false !== ($entry = readdir($h

我有一个名为
my_folder
的空文件夹:

$mas = glob("my_folder/*");
var_dump($mas);

如果在
myu文件夹中
我有文件,则结果为数组,但如果
myu文件夹
为空,则结果为
false

为什么结果是false而不是空数组()?

  • 很可能您对
    my\u文件夹
    没有权限

  • 也可能是因为(来自PHP手册):


在某些系统上,无法区分空匹配和错误

如果后一种情况是你的情况,我建议你退回到“方法”上来:

while (false !== ($entry = readdir($handle))) {
        echo "$entry\n";
}
使用:

opendir(), readdir(), closedir()
  • 很可能您对
    my\u文件夹
    没有权限

  • 也可能是因为(来自PHP手册):


在某些系统上,无法区分空匹配和错误

如果后一种情况是你的情况,我建议你退回到“方法”上来:

while (false !== ($entry = readdir($handle))) {
        echo "$entry\n";
}
使用:

opendir(), readdir(), closedir()
当出现错误时,say
glob
返回
FALSE
。由于出现错误,您没有得到空数组

以下是有关
glob
的一些常见错误:

  • 您对该文件/文件夹没有权限(也就是说,
    www-data
    没有权限)
  • 你打错了什么
  • 您正在尝试处理远程文件(不受支持)
  • 您使用的是一个没有它的旧系统(例如,非常旧的S OS)
    • 当出现错误时,表示
      glob
      返回
      FALSE
      。由于出现错误,您没有得到空数组

      以下是有关
      glob
      的一些常见错误:

      • 您对该文件/文件夹没有权限(也就是说,
        www-data
        没有权限)
      • 你打错了什么
      • 您正在尝试处理远程文件(不受支持)
      • 您使用的是一个没有它的旧系统(例如,非常旧的S OS)
      返回值: 返回包含匹配的文件/目录的数组,如果没有匹配的文件,则返回空数组;如果出现错误,则返回FALSE

      注:
      在某些系统上,无法区分空匹配和错误。

      检查这两点是否与您和您的特定平台无关。

      返回值: 返回包含匹配的文件/目录的数组,如果没有匹配的文件,则返回空数组;如果出现错误,则返回FALSE

      注:
      在某些系统上,无法区分空匹配和错误。

      检查这两点是否与您和您的特定平台无关。

      在返回值部分下:

      返回包含匹配的文件/目录的数组,如果没有匹配的文件,则返回空数组,否则返回FALSE

      返回值部分下的:

      返回包含匹配的文件/目录的数组,如果没有匹配的文件,则返回空数组,否则返回FALSE


      因为有错误
      false
      表示有错误。查看服务器的错误日志文件。如果在
      my_文件夹
      中我有文件,结果是
      array
      ,但如果
      my_文件夹
      为空,结果是
      false
      。“在某些系统上,无法区分空匹配和错误。”--可能与此有关,但我不知道它会影响哪些系统。我最初投票决定关闭,但你的最后一条评论有助于理解问题,因此我将其添加到你的帖子中,并向你投了一票,尽管手册中有这样的内容:“在某些系统上,无法区分空匹配和错误。”。。。当然,但是是什么原因造成的呢?一定有什么特别的,对吧?我很想知道。因为有一个错误
      false
      表示有错误。查看服务器的错误日志文件。如果在
      my_文件夹
      中我有文件,结果是
      array
      ,但如果
      my_文件夹
      为空,结果是
      false
      。“在某些系统上,无法区分空匹配和错误。”--可能与此有关,但我不知道它会影响哪些系统。我最初投票决定关闭,但你的最后一条评论有助于理解问题,因此我将其添加到你的帖子中,并向你投了一票,尽管手册中有这样的内容:“在某些系统上,无法区分空匹配和错误。”。。。当然,但是是什么原因造成的呢?一定有什么特别的,对吧?我很想知道。谢谢,正如我所看到的,在这种情况下,“经典”方式真的是经典=)我如何找出
      opendir
      readdir
      失败的原因?由于某些原因,这在服务器上不起作用;它在我的电脑上工作。它就像服务器上运行的Apache帐户的权限问题一样,但它被明确授予我试图读取的文件夹的权限。谢谢,正如我所看到的,在这种情况下,“经典”方式真的是经典=)我如何找出
      opendir
      readdir
      失败的原因?由于某些原因,这在服务器上不起作用;它可以在我的电脑上工作。它的作用类似于服务器上运行的Apache帐户的权限问题,但它被明确授予我试图读取的文件夹的权限。