This article will guide you to Check File exist and Create or Replace File Content in Laravel. To perform the file system based operations like Check file exist and create or replace file in laravel. we use File
class or Storage
class in laravel. Laravel provides inbuilt library to access the file system and we can do multiple robust operations using the libraries. In this tutorial i will show you to make a file with content in laravel.
Sometimes we want to store raw information in text or json file so for this purpose we need to create the file in our application. File can be open in different modes like append, read only or read and write.
In this article I will use Illuminate\Filesystem\Filesystem
class and facade File::put()
, File::replace()
, File::prepend()
and FIle::append()
method to create and replace a new file .
Method accepts two parameters as belowput
1. File::put()
: To create new file and add the content
File::put($path, $contents, $lock)
Example Usage:
File::put(public("logs/user.text"),"Simple content");
2. File::
: To Replace the content of existing file replace
()
File::replace($path, $contents)
Example Usage:
File::replace(public("logs/user.text"),"Simple content");
Here I called put
with 2 parameters first parameter tells to the name of file and second parameter to add the contents to the file
Let’s understand it with example step by step
Step 1: Create a fresh laravel project
Open a terminal window and type below command to create a new project
composer create-project --prefer-dist laravel/laravel blog
You can also read this to start with new project
Step 2 : Create controller
Let’s create a controller and add method checkAndCreateFile
php artisan make:controller FileController
and add the below code
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use File;
class FileController extends Controller
{
public function checkAndCreateFile(Request $request){
$storageDestinationPath=public_path("users.log");
if (!File::exists( $storageDestinationPath)) {
File::put($storageDestinationPath,"This is simple content");
}
else{
File::replace($storageDestinationPath,"This is simple content replaced");
}
return response("File created/replaced successfully");
}
}
In above code First of all we are checking the file is exist or not then if not available then we are creating the file at the location and if already exist then we are replacing the content of file
Step 3: Create two routes in routes/web.php
Create a route to create the directory
routes/web.php
<?php
use App\Http\Controllers\checkAndCreateFile;
use Illuminate\Support\Facades\Route;
Route::get("/create-file",[FileController::class,"checkAndCreateFile"]);