ホームページ  >  に質問  >  本文

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

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

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

第二种


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

黄舟黄舟2771日前743

全員に返信(3)返信します

  • 天蓬老师

    天蓬老师2017-04-11 09:18:37

    参照php官司方文档

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

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

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

    但是你要特别当心::Warning

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

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-11 09:18:37

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

    返事
    0
  • 高洛峰

    高洛峰2017-04-11 09:18:37

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

    返事
    0
  • キャンセル返事