@@ -700,7 +700,7 @@ public function getFileList()
700700 return $ this ->parse ()['files ' ];
701701 }
702702
703- private static function sortFileTreeRecursive (array &$ fileTree , $ sortByString = false , $ sortByFolder = false ): array
703+ private static function sortFileTreeRecursive (array &$ fileTree , $ sortByString = false , $ sortByFolder = false )
704704 {
705705 if ($ sortByString ) {
706706 ksort ($ fileTree , SORT_NATURAL | SORT_FLAG_CASE );
@@ -709,14 +709,15 @@ private static function sortFileTreeRecursive(array &$fileTree, $sortByString =
709709 $ isoFile = [];
710710 foreach ($ fileTree as $ key => &$ item ) {
711711 if (is_array ($ item )) {
712- $ fileTree [ $ key ] = self ::sortFileTreeRecursive ($ item , $ sortByString , $ sortByFolder );
712+ self ::sortFileTreeRecursive ($ item , $ sortByString , $ sortByFolder );
713713 } elseif ($ sortByFolder ) {
714714 $ isoFile [$ key ] = $ item ;
715715 unset($ fileTree [$ key ]);
716716 }
717717 }
718- $ fileTree = array_merge ($ fileTree , $ isoFile );
719- return $ fileTree ;
718+ if ($ sortByFolder && !empty ($ isoFile )) {
719+ $ fileTree = array_merge ($ fileTree , $ isoFile );
720+ }
720721 }
721722
722723 /**
@@ -726,7 +727,7 @@ private static function sortFileTreeRecursive(array &$fileTree, $sortByString =
726727 * "directory" => [
727728 * "filename2" => 2345
728729 * ],
729- * "filename1" => 123
730+ * "filename1" => 123 // 123 is file size
730731 * ]
731732 * ]
732733 */
@@ -736,7 +737,6 @@ public function getFileTree($sortType = self::FILETREE_SORT_NORMAL)
736737
737738 $ sortByString = ($ sortType & self ::FILETREE_SORT_STRING ) === self ::FILETREE_SORT_STRING ;
738739 $ sortByFolder = ($ sortType & self ::FILETREE_SORT_FOLDER ) === self ::FILETREE_SORT_FOLDER ;
739-
740740 if ($ sortByString || $ sortByFolder ) {
741741 self ::sortFileTreeRecursive ($ fileTree , $ sortByString , $ sortByFolder );
742742 }
0 commit comments