首页 > 为什么PHP readdir函数每次执行结果不一样?

为什么PHP readdir函数每次执行结果不一样?

<?php 
    $path = dirname(__FILE__);
    $dir = opendir($path);
    while($file = readdir($dir))
    {
        echo "$file\n";
    }

代码如上:
有两种执行结果。
第一种

第二种


是win7环境下,php 5.6这个函数linux环境才可以正常执行的吗?


权限问题吧...进程用户应该是PHP或者Apache,而不是你的登录帐号。


参照php官司方文档

$path = dirname(__FILE__);
$dir = opendir($path);
while(false!==($file = readdir($dir)))
{
    echo "$file\n";
}

你应该这样写才是正确方式,附官方文档说明

使用readdir函数成功则返回文件名 或者在失败时返回 FALSE

但是你要特别当心::Warning

此函数可能返回布尔值 FALSE,但也可能返回等同于 FALSE 的非布尔值。
请阅读 布尔类型章节以获取更多信息。应使用 === 运算符来测试此函数的返回值。

你看看你是不是有个文件或目录名叫 0 ?

【热门文章】
【热门文章】