【问题标题】:list only directories that contain certain files仅列出包含某些文件的目录
【发布时间】:2013-05-05 02:05:03
【问题描述】:

下面的代码可以很好地列出所有目录并排除我不希望在数组列表中的目录,但我想添加另一个功能,以便仅列出包含某些文件的目录。

例如:只列出包含文件的目录:array('file1.php','file2.php');

$exclude = array('admin','inc');        
foreach(glob('./*', GLOB_ONLYDIR) as $dir) {
$dir = str_replace('./', '', $dir);
if (!in_array($dir, $exclude))  
{
    //list directories
} }

【问题讨论】:

  • 您是说您无法跟踪您的文件吗?
  • 不,我不是这么说,我想列出包含特定文件的目录。
  • 使用循环调用file_exits(),其中参数是$dir 和文件数组的每个元素的串联。

标签: php arrays glob directory


【解决方案1】:
$exclude = array('admin','inc'); 
$required = array('file1.php', 'file2.php');
foreach(glob('./*', GLOB_ONLYDIR) as $dir) {
$dir = str_replace('./', '', $dir);
if (!in_array($dir, $exclude))  
{
    foreach($required as $r) {
        if (file_exists("$dir/$r")) {
            echo $dir, "\n";
            break;
        }
    }
} }

【讨论】:

  • 效果很好,谢谢...但必须在末尾添加缺少的 ): if (file_exists("$dir/$r"))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-11
  • 1970-01-01
  • 1970-01-01
  • 2017-04-13
  • 2017-05-06
  • 1970-01-01
  • 2014-01-31
相关资源
最近更新 更多