Rumah  >  Artikel  >  pembangunan bahagian belakang  >  为什么PHP readdir函数每次执行结果不一样?

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

WBOY
WBOYasal
2016-08-04 09:20:59965semak imbas

<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,而不是你的登录帐号。

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn