0

这是我的代码-

if ($handle = opendir('banner/')) {    
    while (false !== ($file = readdir($handle))) { 
        echo "$file"; 
    }     
    closedir($handle); 
} 

当我运行此代码时,不必要的点(。)来了。输出image-3.jpgimage-4.jpgimage-1.jpgimage-2.jpgimage-5.jpg... 为什么最后会出现 3 个点?

4

2 回答 2

3

因为.是当前目录,又..是父目录。

它们总是存在的。

如果您需要排除它们 - 只需添加

if ($file != '.' && $file != '..')

就在之前echo

于 2010-11-12T12:48:33.660 回答
0

这是因为您的目录中有一些您看不到的项目......其中一个是.并且代表当前目录,另一个是..并且代表当前目录之上的目录。您需要从任何 readdir 结果中过滤掉这些。

于 2010-11-12T12:48:10.507 回答