The FileProcessingTrait
in the LaraUtilX
package provides functionality for handling file operations such as uploading, downloading, and deleting files using Laravel's Storage facade.
getFile(string $filename, string $directory = 'uploads'): string
: Retrieves file contents.uploadFile(UploadedFile $file, string $directory = 'uploads'): string
: Uploads a single file.uploadFiles(array $files, string $directory = 'uploads'): array
: Uploads multiple files.deleteFile(string $filename, string $directory = 'uploads')
: Deletes a single file.deleteFiles(array $filenames, string $directory = 'uploads')
: Deletes multiple files.Get File Contents:
use omarchouman\LaraUtilX\Traits\FileProcessingTrait;
class MyController extends Controller
{
use FileProcessingTrait;
public function getFileContents(string $filename)
{
return $this->getFile($filename);
}
}
Upload File:
use omarchouman\LaraUtilX\Traits\FileProcessingTrait;
class MyController extends Controller
{
use FileProcessingTrait;
public function uploadSingleFile(Request $request)
{
$file = $request->file('file');
return $this->uploadFile($file);
}
}
Upload Multiple Files:
use omarchouman\LaraUtilX\Traits\FileProcessingTrait;
class MyController extends Controller
{
use FileProcessingTrait;
public function uploadMultipleFiles(Request $request)
{
$files = $request->file('files');
return $this->uploadFiles($files);
}
}
Delete File:
use omarchouman\LaraUtilX\Traits\FileProcessingTrait;
class MyController extends Controller
{
use FileProcessingTrait;
public function deleteSingleFile(string $filename)
{
$this->deleteFile($filename);
}
}
Delete Multiple Files:
use omarchouman\LaraUtilX\Traits\FileProcessingTrait;
class MyController extends Controller
{
use FileProcessingTrait;
public function deleteMultipleFiles(array $filenames)
{
$this->deleteFiles($filenames);
}
}
The trait provides convenient methods for performing file operations, simplifying file management tasks in Laravel applications.
You can publish this trait through the below command
php artisan vendor:publish --tag=lara-util-x-file-processing-trait
This trait streamlines file handling in Laravel applications, enhancing productivity and maintainability.