0

我的代码:

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 文件消失。

4

1 回答 1

0

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

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

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

试试这个:

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

上面的函数只返回文件,chich 不是以 .

但是在 Windows 上隐藏文件的工作方式不同,我不知道如何使用它。

于 2013-01-13T09:18:34.547 回答