0
我有文件的數組,看起來像這樣:如何基於允許用戶查看哪些文件構建此文件樹?
Array
(
[0] => Array
(
[type] => folder
[path] => RootFolder
)
[1] => Array
(
[type] => file
[path] => RootFolder\error.log
)
[2] => Array
(
[type] => folder
[path] => RootFolder\test
)
[3] => Array
(
[type] => file
[path] => RootFolder\test\asd.txt
)
[4] => Array
(
[type] => folder
[path] => RootFolder\test\sd
)
[5] => Array
(
[type] => file
[path] => RootFolder\test\sd\testing.txt
)
)
我分析這個數組和創建像基於文件的深度(「/」計數)視圖中的樹。它看起來像這樣:
RootFolder
- error.log
- test
- asd.txt
- sd
- testing.txt
我現在已經是文件路徑,允許用戶查看的數組。構建上面的樹時,我需要考慮這個數組。該數組是這樣的:
Array
(
[0] => Array
(
[filePath] => RootFolder\test\sd
)
[1] => Array
(
[filePath] => RootFolder\error.log
)
)
這將是容易做if in_array($path, $allowed)
但這不會給我的樹。只是一個文件列表...
我難住的另一部分是這樣的要求:如果用戶有權查看文件夾test
,然後他們有權訪問該文件夾的所有孩子。
我的想法是簡單地解析文件路徑。例如,我確認RootFolder\test\sd
是一個目錄,然後根據'/'計數創建一棵樹。就像我之前做的那樣。然後,因爲這是一個目錄,我會將這個目錄中的所有文件都提取出來並顯示給用戶。但是,我無法將其轉換爲工作代碼...
任何想法?