嗨,我试图用PHP显示所有文件和文件夹在目录中
例如
主持人:系统/信息/
文件夹 - 用户
来自用户的文件 - User1.txt
来自用户的文件 - User2.txt
来自用户的文件 - User3.txt
来自用户的文件 - User4.txt
文件夹 - 玩家
来自玩家的文件 - Player1.txt
来自玩家的文件 - Player2.txt
来自玩家的文件 - Player3.txt
来自玩家的文件 - Player4.txt
请有人带我到正确的街道
谢谢
我正在尝试查找指定目录下的所有文件和文件夹
例如,我有/ home/user/stuff
我想回来
/home/user/stuff/folder1/image1.jpg
/home/user/stuff/folder1/image2.jpg
/home/user/stuff/folder2/subfolder1/image1.jpg
/home/user/stuff/image1.jpg
Run Code Online (Sandbox Code Playgroud)
希望这是有道理的!
我正在尝试构建一个可视化文件结构的浏览器应用程序,因此我想将文件结构打印到 JSON 对象中。
我尝试过使用通过管道传输到 sed 的“ls”的多种变体,但似乎 find 效果最好。
现在我只是尝试使用该命令
find ~ -maxdepth ? -name ? -type d -printRun Code Online (Sandbox Code Playgroud)
并对路径变量进行标记
我已经尝试过使用 PHP-exec 进行简单的 ajax,但是数组遍历非常慢。我想直接从 bash 脚本执行此操作,但我不知道如何获取关联数组的引用传递以递归地将所有标记化路径变量添加到树中。
有没有更好的或既定的方法来做到这一点?
谢谢!
Fatal error: Allowed memory size of 805306368 bytes exhausted (tried to
allocate 8192 bytes) in *directory* on line 6
Run Code Online (Sandbox Code Playgroud)
这是我尝试访问运行此脚本的页面时抛出的错误:
$root = '../public_html/';
function proccess($dir) {
$items = scandir($dir);
$result = array();
foreach ($items as $item)
{
if (is_dir($item))
$result[$item] = proccess($item);
else
array_push($result, $item);
}
return $result;
}
print_r(proccess($root));
Run Code Online (Sandbox Code Playgroud)
我想要完成的是构建一个关联数组,表示public_html我服务器上的目录中的目录树.我正在尝试为自己创建一个图形索引...主要是为了好玩,但这已经变成了关于递归的学习体验!
在我看来,这个函数看起来相当简单,我的服务器上没有那么多文件...所以除非我不小心创建了一个无限递归循环,否则我不明白为什么我的内存不足.
循环逻辑:扫描根目录,然后遍历生成的数组.如果找到另一个目录,请将其名称设置为$ result数组的键,然后再次运行proccess().如果找到文件,只需将文件名推送到$ result数组即可.