App\services\UploadsManager::folderInfo PHP Méthode

folderInfo() public méthode

Return files and directories within a folder
public folderInfo ( string $folder ) : array
$folder string
Résultat array of [ 'folder' => 'path to current folder', 'folderName' => 'name of just current folder', 'breadCrumbs' => breadcrumb array of [ $path => $foldername ] 'folders' => array of [ $path => $foldername] of each subfolder 'files' => array of file details on each file in folder ]
    public function folderInfo($folder)
    {
        $folder = $this->cleanFolder($folder);
        $breadcrumbs = $this->breadcrumbs($folder);
        $slice = array_slice($breadcrumbs, -1);
        $folderName = current($slice);
        $breadcrumbs = array_slice($breadcrumbs, 0, -1);
        $subfolders = [];
        foreach (array_unique($this->disk->directories($folder)) as $subfolder) {
            $subfolders["/{$subfolder}"] = basename($subfolder);
        }
        $files = [];
        foreach ($this->disk->files($folder) as $path) {
            $files[] = $this->fileDetails($path);
        }
        return compact('folder', 'folderName', 'breadcrumbs', 'subfolders', 'files');
    }

Usage Example

 /**
  * Show page of files / subfolders
  */
 public function index(Request $request)
 {
     $folder = $request->get('folder');
     $data = $this->manager->folderInfo($folder);
     return view('admin.upload.index', $data);
 }