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

WBOY
发布: 2016-08-04 09:20:59
原创
997 人浏览过

<code><?php $path = dirname(__FILE__);
    $dir = opendir($path);
    while($file = readdir($dir))
    {
        echo "$file\n";
    }</code></code>
登录后复制
登录后复制

代码如上:
有两种执行结果。
第一种
为什么PHP readdir函数每次执行结果不一样?
第二种

为什么PHP readdir函数每次执行结果不一样?
是win7环境下,php 5.6这个函数linux环境才可以正常执行的吗?

回复内容:

<code><?php $path = dirname(__FILE__);
    $dir = opendir($path);
    while($file = readdir($dir))
    {
        echo "$file\n";
    }</code></code>
登录后复制
登录后复制

代码如上:
有两种执行结果。
第一种
为什么PHP readdir函数每次执行结果不一样?
第二种

为什么PHP readdir函数每次执行结果不一样?
是win7环境下,php 5.6这个函数linux环境才可以正常执行的吗?

参照php官司方文档

<code>$path = dirname(__FILE__);
$dir = opendir($path);
while(false!==($file = readdir($dir)))
{
    echo "$file\n";
}</code>
登录后复制

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

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

</code>
登录后复制

但是你要特别当心::Warning

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

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

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

相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!