【问题标题】:List all files in a directory ,extra information is coming列出目录中的所有文件,额外的信息来了
【发布时间】:2010-11-12 12:44:22
【问题描述】:

这是我的代码-

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个点??

【问题讨论】:

  • 请提高您的接受率 - 来自常见问题解答:当您确定哪个答案对您最有帮助时,通过单击左侧的复选框轮廓将其标记为已接受的答案答案。这可以让其他人知道您的问题得到了很好的回答。这样做很有帮助,因为它向其他人表明您从社区中获得了价值。 (如果您不这样做,人们通常会礼貌地要求您返回并接受更多问题的答案!)

标签: php opendir


【解决方案1】:

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

它们永远存在。

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

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

就在echo之前

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-16
      • 2011-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-14
      相关资源
      最近更新 更多