Laravel 9 Check if File Exists in Public Folder

1 year ago admin Laravel

Sometimes when you are working with Laravel 9 and you want to delete a post that has an image, you must remove the file too, thus the uploads folder is not full of unused images, but what if the file is just a URL linking to a website like pixabay you will get an error that the file does not exists, so how to check for the file if exists before deleting the post


Check before delete

Let's assume that we want to delete a post with an image, all we need to do is to use the File class that provides the static method exists, the method takes the path as a parameter and checks if the file exists then the file is deleted if not we delete only the post.

                                                        
                                                                                                                        
<?php

namespace App\Http\Controllers;

use App\Models\Post;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\File;

class PostController extends Controller
{
    /**
     * Remove the specified resource from storage.
     *
     * @param  \App\Models\Post  $post
     * @return \Illuminate\Http\Response
     */
    public function destroy(Post $post)
    {
        //
        if(File::exists($post->photo)){
            File::delete($post->photo);
        }
        $post->delete();
        return redirect()->route('posts.index')->with([
            'success' => 'Post deleted successfully'
        ]);
    }
}

Related Tuorials

How to Check if a Record Does Not Exist in Laravel

in this lesson, we will see how to check if a record does not exist in laravel, sometimes you need t...


How to Check if a Record Exists in Laravel

in this lesson, we will see how to check if a record exists in laravel, sometimes you need to check...


How to Decrement Multiple Fields in Laravel

In this lesson, we will see how to decrement multiple fields in Laravel, in the old versions of lara...


How to Increment Multiple Fields in Laravel

In this lesson, we will see how to increment multiple fields in Laravel, in the old versions of lara...


How to Use the Same Request Validation Rules for Storing and Updating in Laravel

In this lesson, we will see how to use the same request validation rules for storing and updating in...


How to Go Back to the Previous URL in Laravel Blade

In this lesson, we will see how to go back to the previous URL in Laravel Blade, sometimes we need t...


How to Add Additional Data to The Resource JSON Response in Laravel

In this lesson, we will see how to add additional data to the resource JSON response in Laravel, let...


How to Specify the Attributes to be Returned in the Laravel Find Method

In this lesson, we will see how to specify the attributes to be returned in the Laravel find method,...


How to Get Data Using Where All in Laravel

In this lesson, we will see how to get data using Where All in Laravel, the Where All method is used...


How to Get Data Using Where Any in Laravel

In this lesson, we will see how to get data using Where Any in Laravel, the Where Any method is used...