public static PhpArray scandir(Context ctx, string directory, ScanDirSortOrder sorting_order = ScanDirSortOrder.Ascending) { if (PhpStream.ResolvePath(ctx, ref directory, out var wrapper, CheckAccessMode.Directory, CheckAccessOptions.Empty)) { var listing = wrapper.Listing(ctx.RootPath, directory, 0, null); if (listing != null) { switch (sorting_order) { case ScanDirSortOrder.Ascending: listing.Sort(); break; case ScanDirSortOrder.Descending: listing.Sort(); listing.Reverse(); break; } // return(new PhpArray(listing)); } } return(null); // false }
public static PhpArray scandir(Context ctx, string directory, ScanDirSortOrder sorting_order = ScanDirSortOrder.Ascending) { if (PhpStream.ResolvePath(ctx, ref directory, out var wrapper, CheckAccessMode.Directory, CheckAccessOptions.Empty)) { var listing = wrapper.Listing(ctx.RootPath, directory, 0, null); if (listing != null) { var ret = new PhpArray(listing); // create the array from the system one switch (sorting_order) { case ScanDirSortOrder.Ascending: Arrays.sort(ctx, ret, ComparisonMethod.String); break; case ScanDirSortOrder.Descending: Arrays.rsort(ctx, ret, ComparisonMethod.String); break; } return(ret); } } return(null); // false }