scandir显示错误的结果

时间:2013-01-13 08:36:07

标签: php scandir

我的代码:

if ($d = opendir('.')) {
       while (($file = readdir($d)) !== false) {
            if ( $file != "."  && $file != ".." ){
                echo "filename: $file \n";
                $files[]=$file;
            }
       }
    closedir($d);
}

输出:

filename: audio_files
filename: backup_files
filename: compressed_files
filename: database_files
filename: data_files
filename: developer_files
filename: disk_image_files
filename: executable_files
filename: font_files
filename: genstats.php
filename: raster_image_files
filename: spreadsheet_files
filename: text_files
filename: text_filesdesktop__dup.ini
filename: video_files
filename: web_files

text_filesdesktop__dup.ini甚至不存在。

C:\Users\Steve\Desktop\Files>del text_filesdesktop__dup.ini
Could Not Find C:\Users\Steve\Desktop\Files\text_filesdesktop__dup.ini

我尝试过使用scandir(),删除文件并重新创建等等,但无济于事。我根本无法让那个.ini文件消失。

1 个答案:

答案 0 :(得分:0)

可能是您的目录中有隐藏文件

您使用的是什么平台,WiNDOWS或Linux,

如果您只想排除以点开头的文件,“。”,

试试这个:

$files = readdir('/path/to/folder');
$files = array_filter($files, create_function('$a','return ($a[0]!=".");'));

以上功能仅重新启动文件,chich不是以。

开头

但是在Windows上隐藏文件的工作方式不同,我不知道怎么玩它。