PHP nasıl bir dizi için bir dizin ağacı kaydedebilirsiniz?

0 Cevap php

Ben yapısı ile bir dizin almaya çalışıyorum:

top
    folder1
        file1
    folder2
        file1
        file2

Ve gibi bir diziye kaydedin:

array
(
    'folder1' => array('file1'),
    'folder2' => array('file1', 'file2')
)

Bu şekilde, kolayca benim site boyunca ağaç resuse edebilirsiniz. Bu kod ile oynamak oldum ama hala ne istediğinizi yapmıyor:

private function get_tree()
{
    $uploads  = __RELPATH__ . DS . 'public' . DS . 'uploads';
    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($uploads), RecursiveIteratorIterator::SELF_FIRST);
    $output   = array();

    foreach($iterator as $file)
    {
        $relativePath = str_replace($uploads . DS, '', $file);

        if ($file->isDir())
        {
            if (!in_array($relativePath, $output))
                $output[$relativePath] = array();
        }
    }

    return $output;
}

0 Cevap