gpt4 book ai didi

PHP readdir 未读取某些文件

转载 作者:行者123 更新时间:2023-12-02 01:23:20 29 4
gpt4 key购买 nike

我使用以下代码循环遍历目录以打印出文件的名称。但是,并未显示所有文件。我尝试过使用 clearstatcache 但没有效果。

    $str = '';
$ignore = array('.', '..');

$dh = @opendir( $path );
if ($dh === FALSE)
{
// error
}

$file = readdir( $dh );
while( $file !== FALSE )
{
if (in_array($file, $ignore, TRUE)) { break; }
$str .= $file."\n";
$file = readdir( $dh );
}

这是当前目录的内容:

root.auth  test1.auth  test2.auth  test3.auth  test5.auth

但是,test5.auth 没有出现。如果我将其重命名为 test4.auth 它不会出现。如果我将其重命名为 test6.auth,它确实会出现。这是可靠的行为 - 我可以将其重命名几次,但它仍然不会显示,除非我将其重命名为 test6.auth。

到底会发生什么?

我正在运行带有 PHP 版本 5.2.6 的 Arch Linux(内核 2.6.26-ARCH)和带有 Suhosin-Patch 的 Apache/2.2.9。我的文件系统是 ext3,运行的是 fam 2.6.10。

最佳答案

继续也不起作用,因为您将跳过读取下一个文件的行。

您可以删除第一个 $file = readdir( $dh ); 然后执行

while (false !== ($file = readdir($dh))) {
if (in_array($file, $ignore, TRUE)) { continue; }
$str .= $file."\n";
}

关于PHP readdir 未读取某些文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/191503/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com