我有一个php脚本$filelist = scandir('myfolder/')
列出了我的文件夹中的文件。但它也将子文件夹添加到阵列,以便在使用foreach
打印结果时也填充它们。我想删除添加到数组中的文件夹。我怎样才能做到这一点??从php scandir列表中删除文件夹
2
A
回答
2
1
scandir返回一组文件夹。您可以像这样删除阵列中的任何元素:
unset($filelist[0]);
其中0是您希望删除的元素的索引。如果您需要按名称查找目录,也可以使用array_search()。
0
尝试
<?php
$dir = "/example";
$filelist = new Array();
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if (!is_dir($file)) {
$filelist[] = $file;
}
}
closedir($dh);
}
}
?>
这就像做一个SCANDIR,但检查返回文件
2
如果你知道什么文件夹的名称是,你可以创建这些文件夹的数组,然后使用和array_diff从结果中删除:
$folders = array('..', '.', 'folder');
$files = array_diff(scandir($dir), $folders);
3
简单的方式
$dir = 'myfolder/';
$filelist = scandir($dir);
foreach ($filelist as $key => $link) {
if(is_dir($dir.$link)){
unset($filelist[$key]);
}
}
0
A 干净简明的解决方案可能会使用array_filter排除所有这样的子目录
$files = array_filter(scandir('directory'), function($item) {
return !is_dir('directory/' . $item);
});
这也有效地删除了分别代表当前目录和父目录的.
和..
。
相关问题
- 1. PHP Scandir云文件夹
- 2. 从文件夹中删除文件
- 3. Yii2从文件夹中删除文件
- 4. Phpstorm从文件夹列表中删除BG
- 5. 使用数据列表从文件夹中删除图像
- 6. 使用数据列表删除按钮从文件夹中删除图像
- 7. 如何使用PHP从文件夹中删除文件
- 8. PHP从文件夹和数据库中删除文件
- 9. htaccess的URL从删除文件夹,删除.PHP
- 10. PHP从文件中删除
- 11. 从文件夹和子文件夹中删除文件
- 12. 从列表中删除文件名python
- 13. PHP SCANDIR排序第一单文件,那么文件夹和子文件夹
- 14. htaccess删除文件夹的文件夹
- 15. 从GridView输出中删除文件夹
- 16. 从数据库中删除文件夹
- 17. 从DDMS中删除文件夹
- 18. 从文件夹中删除图像
- 19. 从git中删除生成文件夹
- 20. 删除文本文件中未列出的文件夹/文件
- 21. VBS从压缩文件夹中删除文件夹
- 22. 清除文件夹 - 删除文件夹中的文件 - J2ME
- 23. 在codeigniter中删除后从文件夹中删除图像
- 24. 删除文件并从列表中删除它的名字
- 25. 的mod_rewrite删除子文件夹和PHP
- 26. 如何使用PHP删除文件夹?
- 27. 用PHP删除__MACOSX文件夹?
- 28. 使用c删除文件夹后删除文件夹#
- 29. Git - 从.git文件夹中删除文件,而无需远程删除文件
- 30. 从本地服务器文件夹中删除图像在php
是否要删除* all *子元素,仅列出'myfolder /'中的顶级文件夹? – 2011-06-08 17:27:30