How to Check If Directory Exists Before Create Directory in Laravel ?

 

In Laravel, you can check if a directory exists before creating it using the `File` facade or the `Storage` facade. Here's how to do it using both methods:


Method 1: Using the `File` Facade


Step 1: Import the `File` facade at the top of your PHP file:


use Illuminate\Support\Facades\File;


Step 2: Check if the directory exists using the `isDirectory` method:


$directoryPath = public_path('path/to/directory');


if (!File::isDirectory($directoryPath)) {

    File::makeDirectory($directoryPath, 0755, true, true);

}


In this example, `public_path()` generates the absolute path to the public directory in Laravel, and `'path/to/directory'` should be replaced with the relative path to the directory you want to check and create.


The `makeDirectory` method will create the directory if it doesn't exist. The third parameter `true` indicates that the method should create the parent directories recursively if they don't exist.


Method 2: Using the `Storage` Facade


Step 1: Import the `Storage` facade at the top of your PHP file:


use Illuminate\Support\Facades\Storage;


Step 2: Check if the directory exists using the `exists` method:


$directoryPath = 'path/to/directory';


if (!Storage::exists($directoryPath)) {

    Storage::makeDirectory($directoryPath);

}


In this example, `'path/to/directory'` is a path relative to the storage disk. If you are using the default `local` disk, it will be created in the `storage/app` directory.


The `makeDirectory` method will create the directory if it doesn't exist.


Choose the method that suits your needs better. Both methods will help you check if a directory exists before creating it in Laravel.