PHP-创建动态多维文件树形数组

2024-01-05

我想创建一个文件树,为此我需要将文件和目录数组转换为多维文件树数组。例如:

array
(
   'file.txt',
   'dir1/',
   'dir1/dir2/',
   'dir1/dir2/dir3/',
   'dir1/file.txt',
)

to

array
(
   'file.txt',
   'dir1' => 
   array
   (
       'dir2' => 
       array
       (
           'dir3' =>
           array(),
       ),
       'file.txt',
    )
)

我尝试了几个函数来完成此任务,但没有一个起作用。我遇到的问题例如没有简单的方法来转换array ('test','test','test'),'test' to $array['test']['test']['test'] = 'test'.


这是一个较短的递归:

function dir_tree($dir) {    
    $files = array_map('basename', glob("$dir/*"));
    foreach($files as $file) {
        if(is_dir("$dir/$file")) {
            $return[$file] = dir_tree("$dir/$file");
        } else {
            $return[] = $file;
        }
    }
    return $return;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP-创建动态多维文件树形数组 的相关文章

  • TCPDF 为一个文档中的不同页面设置不同的页眉

    有没有办法使文档中第一页的页眉徽标和第二页的页眉徽标不同 我认为在添加页面之间更改标题数据可能会解决问题 但在我的测试中 添加第一页后设置标题似乎没有效果 other stuff pdf gt setHeaderFont array PDF
  • Php 会话标头已经发送错误[重复]

    这个问题在这里已经有答案了 可能的重复 php 标头已发送错误 https stackoverflow com questions 3319207 php headers already sent error 我已附上我的代码 该代码用于
  • 如何为 pg_trgm `'term' % ANY (array_column)` 查询索引字符串数组列?

    我尝试过普通的Postgresgin索引以及 pg trgmgin trgm ops and gist trgm ops索引 使用此解决方法 https stackoverflow com a 33016333 283398 https s
  • 在 WooCommerce 中检查购物车中的多个产品 ID

    我使用以下代码来检查产品 ID 是否在购物车中 如果是 则添加额外的结帐字段 add action woocommerce after order notes conditional checkout field function cond
  • 使用服务帐户插入 Google 日历条目

    我正在尝试使用服务帐户在 Google 日历上创建条目 我真的很接近这一点 但最后一行行不通 我得到一个500 Internal Service Error当我让它运行时 否则 程序运行时不会出错 无论其价值如何 The Calendar
  • 简单 php 脚本找不到对象错误

    每次我点击提交按钮在网页中处理此代码时 它都会转到 未找到对象 404 错误 页面 它发生在我的一些脚本中 我不知道问题的根源是我的本地主机 Xampp 还是我的代码 if isset POST submit require dbc php
  • 防止重复数据输入mysql数据库

    我试图让我的电子邮件订阅服务拒绝数据库中已存在的电子邮件 这样用户就不会订阅同一封电子邮件两次 这就是我所拥有的 但它不起作用 有什么想法吗
  • 如何在 php 中访问名为变量的对象属性?

    以 JSON 编码的 Google API 返回一个如下所示的对象 updated gt stdClass Object t gt 2010 08 18T19 17 42 026Z 任何人都知道我如何访问 t value object gt
  • 如何获取共同好友列表

    你好 我想知道如何才能找到共同的朋友 我目前在思考这个问题时遇到问题 我有一个名为 users 的表 它是这样的 id name 1 Kenny 2 Jack 3 Jimmy 4 Chris 5 Meg 6 Jake 7 Micheal 8
  • CodeIgniter 控制器构造函数

    我对 codeigniter 很陌生 我想知道控制器中构造函数的含义是什么 我在 codeigniter 教程中看到以下代码 class upload extends CI Controller function construct par
  • 如何在按钮上执行mysql [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions PHP 单击按钮时如何执行 SQL
  • 正在 WordPress 中上传媒体,但显示错误“上传时发生错误。请稍后重试。”

    我试图在 WordPress 媒体上传中上传 jpeg 图像 上传时 显示错误 上传时发生错误 请稍后再试 上传时出现错误消息 但是当我重新加载页面时 图像显示在列表中 如下所示 重新加载页面后 所以 图片正在上传 这意味着不存在文件夹权限
  • Outlook 中用于删除重复电子邮件的宏 -

    Public Sub RemDups Dim t As Items i As Integer arr As Collection f As Folder parent As Folder target As Folder miLast As
  • 如何从 URL 获取当前的 Web 目录?

    如果我有一个网址http www example com sites dir index html http www example com sites dir index html 我想提取 sites 这个词 我知道我必须使用正则表达式
  • PHP 7.2 计数错误

    警告 count 参数必须是数组或对象 实现 Countable in 我在以下行中收到上述错误 if 0 gt count this gt xprop 有人可以帮助我理解这一点吗 我对 PHP 还很陌生 问题显然是 this gt xpr
  • std::bind2nd 和 std::bind 与二维数组和结构数组

    我知道 C 有 lambda 并且 std bind1st std bind2nd 和 std bind 已弃用 然而 从C 的基础开始 我们可以更好地理解新特性 所以 我从这个非常简单的代码开始 使用int 数组s 第一个例子 与std
  • Ace Editor 自动完成和多种语言

    如何为 Ace 编辑器创建自动完成功能以及如何突出显示 php 中的 html javascript 和 csshttp ace ajax org http ace ajax org
  • 2D 矩阵上的 Numpy where()

    我有一个像这样的矩阵 t np array 1 2 3 foo 2 3 4 bar 5 6 7 hello 8 9 1 bar 我想获取行包含字符串 bar 的索引 在一维数组中 rows np where t bar 应该给我索引 0 3
  • 使用 .htaccess 进行 PHP 设置时出现 500 内部服务器错误

    当我使用时 htaccess对于以下 PHP 设置 我得到500 Internal Server Error访问网站时 中的代码 htaccess file php flag display errors off php flag log
  • Apache LOG:子进程 pid xxxx 退出信号分段错误 (11)

    Apache PHP Mysql Linux 注意 子进程 pid 23145 退出信号分段错误 11 tmp 中可能存在 coredump 但 tmp下没有找到任何东西 我怎样才能找到错误 PHP 代码中函数的无限循环导致了此错误

随机推荐

  • 给定 x、y 和色调,获取 HSL 值

    给定一个看起来像这样的颜色选择器 我正在尝试根据光标的 x 和 y 位置以及右侧滑块的色调来计算 HSL 值 我的数学技能相当薄弱 尽管我所拥有的很接近 但尝试获取真正浅的全强度颜色很麻烦 最终会变得太灰 这是我当前使用的功能 getHSL
  • C# 中使用反射进行方法拦截

    我编写了一个抽象类 它使用反射来查找构造函数中标有属性的字段 如下所示 AttributeUsage AttributeTargets Field public class TrackedField Attribute public cla
  • 定义频率上的音量 (C#)

    我不明白为什么音量定义的频率不符合预期 我依次将声音以几个指定的频率发送到麦克风 然后我对麦克风缓冲区进行 FFT 在 FFT 退出时 我有一个复数数组 要了解定义频率上的声音音量 我查看我的数组 该数组中的元素数量是这样得到的 MyFre
  • 使用 Java 在线程之间传输数据

    我正在编写一个模仿电影院的多线程应用程序 每个参与的人都是自己的线程 并发必须完全由信号量来完成 我遇到的唯一问题是如何基本上链接线程以便它们可以通信 例如通过管道 例如 Customer 1 是一个线程 它获取一个信号量 让它走到票房 现
  • VBA:使用两个参数调用 SQL Server 存储过程

    正如标题中提到的 我只想从 VBA 调用 SQL Server 存储过程 我可以这样调用我的存储过程 EXEC dbo spClientXLS Nr 131783 date 21 09 2014 Nr is a varChar 50 输入值
  • 如何在不使用 GlobalKey.currentState 的情况下平滑更新 Flutter AnimatedList?

    我发现的将项目插入 Flutter AnimatedList 的所有示例都利用 GlobalKey currentState 告诉 AnimatedList 小部件已插入项目 从列表中删除也是如此 众所周知 在 Flutter 中 Glob
  • 每个列表视图项目中旋转进度条

    我已经为此挠头很久了 并寻找答案但没有任何运气 这似乎是微不足道的 但据我所知 事实并非如此 我在 Android 应用程序中使用列表视图 其中每个项目 视图 在 内容已加载并显示 内容是通过http调用和json检索的 因此可能需要一段时
  • 如何摆脱 Core 中的“let”?

    我有一个在内部循环中频繁调用的函数 它看起来像这样 import qualified Data Vector Storable as SV newtype Timedelta Timedelta Double cklsLogDens SV
  • jQuery动态下拉框ajax

    我目前有两个下拉框和一个文本框 我使用数据库查询来填充第一个下拉框 并使用 ajax 来填充第二个下拉列表 具体取决于第一个下拉列表中选择的值 一旦从第二个下拉列表中选择了一个选项 我也会使用ajax来填充输入文本框 我的问题是 使用我当前
  • 使用 VB.Net 将数据插入 SQL Server 数据库

    我目前正在使用 HDI 会员提供商 设计如下所示 现在我尝试创建一个新用户并将这些值插入数据库 如下所示 Try Dim connectionString As String Data Source sqlexpress Initial C
  • 生成掷 n 个骰子的所有可能结果的矩阵(忽略顺序)

    在顺序确实很重要的情况下 生成所有可能结果的矩阵相当容易 执行此操作的一种方法是使用expand grid如图所示here https stackoverflow com questions 2889613 how can i find o
  • 防止 Adob​​e PDF 中的“另存为”

    我们需要防止保存网络驱动器上存在的 PDF 的额外副本 目前 我们已在格式允许的范围内 锁定 PDF 这意味着防止复制 粘贴 编辑和打印 但是 客户要求任何人在打开 PDF 后都无法创建该 PDF 的附加副本 使用本机 PDF 这是不可能的
  • 过渡组儿童必须被锁定......但他们被锁定

    尝试使用
  • HashMap 有大约 1 亿个键,时间仍然恒定?

    有谁知道这个问题的答案吗 是的 要搜索添加了 1 亿个项目的哈希映射 请执行以下操作 1 计算您要查找的对象的哈希值 2 找到那个桶3 在该存储桶中搜索该项目 1 与哈希映射的大小或其中的项数无关 2 是 O 1 假设标准哈希图实现为链表数
  • 将 UICollectionView 某些部分的触摸传递给底层视图

    First take a look at the attacthed image 我的层次结构如下所示 UIView UIButton UI集合视图 UICollectionViewCell UICollectionViewCell UIC
  • 为 EC2 实例保留相同的 IP 地址

    每次停止 启动实例时 EC2 实例是否会更改实例的 IP 地址 有没有办法保持IP地址不变 Yes 有一种方法 弹性IP寻址 https docs aws amazon com AWSEC2 latest UserGuide elastic
  • 有没有办法在 chrome 或 firebox 调试器的堆栈跟踪中隐藏第 3 方 JS 函数调用?

    这是我对 Chrome 调试器最喜欢的问题之一 我有一个调用第 3 方库的函数 该函数在内部调用 20 个其他函数 第 20 个库函数再次调用我的库中的另一个函数 我的函数A gt 调用 libFunctionA gt 调用 libFunc
  • 面向对象的设计 - 当一个类中有大量数据字段时,封装有多重要?

    我有一个关于封装的问题 当类有大量数据字段时是否建议使用封装 使用以下类作为示例 abstract public class Character private String name private String characterCla
  • 如何以递增的值进行更新

    我在 PostgreSQL 中有一个表 它有一个应该是唯一的 ID 列 然而 当前大量行 大约 300 万行 的 ID 为 1 我知道的 总行数 ID 列的当前最大值 ID 不正确 为 1 的行数 我需要的是一个查询 它将提取 ID 为 1
  • PHP-创建动态多维文件树形数组

    我想创建一个文件树 为此我需要将文件和目录数组转换为多维文件树数组 例如 array file txt dir1 dir1 dir2 dir1 dir2 dir3 dir1 file txt to array file txt dir1 g