In this article, we will discuss 3 ways to check if a file exists using Laravel’s functionalities.
Storage Facade
Let’s start off with the Storage
Facade which is part of the Laravel filesystem.
It provides an easy way to check if a file exists within the project’s storage directory.
We can use the exists('path_to_file')
method which takes a single argument, which is the path to the file, and returns true if the file exists, or false otherwise.
File Facade
Another way is to use the File
facade which is also part of the Laravel filesystem.
We can use the same exists('path_to_file')
method or the isFile('path_to_file')
method.
Now let’s get to the cool part!
Storage vs File Facade
Which one to use?
Under the hood, both exists()
and isFile()
methods use the PHP built-in functions ( file_exists()
& is_file()
) without any additional logic.
You can check the source code here.
It’s up to you to decide which way you wanna go.
But to have a good developer experience while working on your project, it’s good to have in mind the differences between the File
and Storage
Facades.
The File
facade is used to interact with the local file system, while the Storage
facade is often used to interact with cloud-based storage operations such as Amazon S3, Google Cloud Storage. and more.
It’s better to use the appropriate Facade because that hints you the environment you’re working with.
Happy coding 😊
Let me know what you think about this article in the comments section below.
If you find this article helpful, please share it with others and subscribe to the blog to support me, and receive a bi-monthly-ish e-mail notification on my latest articles.