【发布时间】:2013-10-17 08:22:43
【问题描述】:
我目前正在使用 scandir 来获取上传文件夹的内容。这是我指定目录的代码:
$dir = /var/www/vhosts/mywebsite.com/httpdocs/admin/newsletters/1234-16-10-2013/
$files = scandir($dir);
然后我会像这样遍历结果:
foreach($files as $file) {
echo '<option value="'.$file.'">'.$file.'</option>';
}
以上工作正常并正确填充我的选择菜单。但是由于某种原因,选择菜单中的选项如下所示:
<option value=".">.</option>
<option value="..">..</option>
<option selected="selected" value="header.jpg">header.jpg</option>
<option value="sale.jpg">sale.jpg</option>
<option value="show-now.jpg">show-now.jpg</option>
前 2 个选项包含句号。第一个有 1,第二个有 2。
有人知道这是为什么吗?是因为目录的深度吗?
任何帮助将不胜感激!
【问题讨论】:
-
这些是对
current directory(.) 和parent directory(..) 的标准引用。 -
if($file === '.' || $file === '..') {继续;}
-
@leuchtdiode,完美的简单修复!谢谢!
-
没有问题,但如果您只想显示文件而不显示目录,您应该使用 Alma Do Mundos 解决方案“is_file($file)”