为什么PHP readdir函数每次执行结果不一样?
黄舟
黄舟 2017-04-11 09:16:37
0
3
733
<?php 
    $path = dirname(__FILE__);
    $dir = opendir($path);
    while($file = readdir($dir))
    {
        echo "$file\n";
    }

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

第二种


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

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

reply all(3)
Peter_Zhu

参照php官司方文档

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

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

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

但是你要特别当心::Warning

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

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

小葫芦

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

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!