Я использую следующий код для циклического перемещения по каталогу для распечатки имен файлов. Однако не все файлы отображаются. Я пытался использовать 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.
Что на земле может происходить?
Я использую Arch Linux (ядро 2.6.26-ARCH) с PHP версии 5.2.6 и Apache / 2.2.9 с Suhosin-Patch. Моя файловая система ext3, и я использую FAM 2.6.10.