portavice / laravel-filesanitizer
Laravel integration for sytxlabs/filesanitizer
Package info
github.com/portavice/laravel-filesanitizer
pkg:composer/portavice/laravel-filesanitizer
1.1.0
2026-04-23 08:49 UTC
Requires
- php: ^8.1
- illuminate/http: ^10.0|^11.0|^12.0|^13.0
- illuminate/support: ^10.0|^11.0|^12.0|^13.0
- illuminate/validation: ^10.0|^11.0|^12.0|^13.0
- portavice/filesanitizer: *
Requires (Dev)
- orchestra/testbench: ^8.0|^9.0|^10.0|^11.0
- phpunit/phpunit: ^10.0|^11.0|^12.0|^13.0
- portavice/laravel-pint-config: ^2.0|^3.0
This package is auto-updated.
Last update: 2026-04-23 08:52:02 UTC
README
Laravel integration for portavice/filesanitizer.
The upstream package is installed as portavice/filesanitizer and uses the class Portavice\FileSanitizer\FileSanitizer.
Installation
composer require portavice/laravel-filesanitizer php artisan vendor:publish --tag=filesanitizer-config
Usage
use Portavice\LaravelFileSanitizer\Facades\FileSanitizer; $result = FileSanitizer::process(storage_path('app/uploads/file.pdf'), null, true); if (! FileSanitizer::safe($result)) { foreach (FileSanitizer::issues($result) as $issue) { echo is_object($issue) ? $issue->code : ($issue['code'] ?? 'unsafe'); echo PHP_EOL; } }
Validation rule
use Portavice\LaravelFileSanitizer\Rules\SafeFile; $request->validate([ 'upload' => ['required', 'file', new SafeFile()], ]);
Or as a validator string rule:
$request->validate([ 'upload' => ['required', 'file', 'safe_file'], ]);
UploadedFile macro
$result = $request->file('upload')->sanitize();
Config
return [ 'sanitize_always' => env('FILESANITIZER_SANITIZE_ALWAYS', false), ];
This config will always sanitize files when set to true, even if the file is already considered safe. This can be useful if you want to ensure that all files are sanitized, regardless of their initial safety status.