public folderInfo ( string $folder ) : array | ||
$folder | string | |
return | 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');
}
/** * 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); }