Laravel – How to get all files from a given directory

In Laravel, you can retrieve a list of all files in a directory using the Storage or File facade. Here’s an example that demonstrates How to get all files from a given directory using both facades:

Example 1: Using Storage Facade

Using the Storage facade you can use something like below.

<?php

use Illuminate\Support\Facades\Storage; 

$directory = 'path/to/directory'; 

$files = Storage::files($directory); 

foreach ($files as $file) { 
   echo $file . "\n"; 
}

In this example, we use the Storage::files method to retrieve all files within the specified directory. The $directory variable contains the path to the directory you want to retrieve files from.

The files method returns an array of file paths within the directory. We iterate over the array using a foreach loop and echo each file path.

Example 2: Using the File facade

Using the File facade you can get all the files and there names easily in laravel application.

<?php

use Illuminate\Support\Facades\File; 

$directory = 'path/to/directory'; 
$files = File::allFiles($directory); 

foreach ($files as $file) { 
      echo $file->getPathname() . "\n"; 
}

In this example, we use the File::allFiles method to retrieve all files within the specified directory. Again, the $directory variable contains the path to the directory you want to retrieve files from.

The allFiles method returns a collection of SplFileInfo objects representing the files. We iterate over the collection using a foreach loop and echo the file’s path using the getPathname method.

Remember to replace 'path/to/directory' with the actual path to the directory you want to retrieve files from. Make sure to provide the correct path relative to the root of your Laravel application.

That’s it! You can use either of these approaches to get all files in a directory in Laravel.

Leave a Comment