繁体   English   中英

scandir()返回的数组是否是可计数的对象?

[英]Is the array returned by scandir() a countable object?

我试图弄清楚为什么count(scandir("/dirname")); 当目录中的文件数不为0时,始终为0。当有人进入我的页面时,以下脚本在页面顶部执行:

<?php 
    setcookie("user", count(scandir("/players")));
?>

该目录包含2个文件。 但是count(scandir("/dirname")); 仍然为0。是因为数组

player0.json
player1.json

scandir()返回的是不可数的对象?

假设目录players器位于PHP文件所在的目录中,则只需将'players'传递给scandir()或其他适用于目录的函数。 它是一条相对路径,在大多数情况下都是有效的。

但是,为了确保您的代码始终有效,您最好使用PHP 魔术常量 __DIR__生成players目录的完整路径:

scandir(__DIR__.'/players')

应该返回一个数组,其中包含players目录中存储的文件的名称,并将此数组传递给count()将正确返回其包含的值数(现在也是如此)。


要回答标题中的问题,成功后, scandir()返回一个PHP 数组,并且该PHP数组始终是可计数的

您对该文件夹没有Read/Write Permission ,或者您Trying to access the directory which isn't in the Root Scope 我建议您提供“ / players directory”的Relative Path ,而不是“ Absolute Path

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM