Nasıl kullanıcı dosyaları ne dayalı bu dosya ağacı oluşturabilirsiniz görüntülemek için izin verilir?

0 Cevap php

Şöyle dosyaları bir dizi var:

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
        )
)

Ben bu dizi ayrıştırmak ve dosya ('/' sayısı) derinliğine dayalı bakış gibi bir ağaç oluşturmak. Bu şuna benzer:

RootFolder
    - error.log
    - test
        - asd.txt
        - sd
            - testing.txt

Ben şimdi ne var kullanıcı görüntülemek için izin filepaths bir dizidir. Ben yukarıda ağaç oluşturulurken dikkate bu diziyi almak gerekir. Bu dizi bu gibi görünüyor:

Array
(
    [0] => Array
        (
            [filePath] => RootFolder\test\sd
        )

    [1] => Array
        (
            [filePath] => RootFolder\error.log
        )

)

Bir if in_array($path, $allowed) yapmak kolay olurdu ama o beni ağacı vermeyecektir. Dosyaların sadece bir liste ...

Ben stumped başka bir parçasıdır bu gerekliliktir: kullanıcı klasörü görüntülemek için erişimi varsa test, daha sonra bu klasörün tüm çocuklara erişebilirsiniz.

Benim fikrim sadece filepaths ayrıştırmak oldu. Örneğin, ben o RootFolder\test\sd bir dizin oldu ve sonra '/' saymak dayalı bir ağaç oluşturmak teyit ediyorum. Sanki daha önce yapıyordum. Bu bir dizin olduğu Sonra, ben bu dizin içindeki tüm dosyaları çekin ve bunları kullanıcıya göstermek istiyorum. Ancak, çalışma kodu için bu dönüştürme sorun yaşıyorum ...

Herhangi bir fikir?

0 Cevap