laravel-filesanitizer maintained by sytxlabs
Description
Laravel integration for sytxlabs/filesanitizer
Author
Last update
2026/04/02 17:22
(dev-main)
License
Downloads
205
Laravel FileSanitizer
Laravel integration for sytxlabs/filesanitizer.
The upstream package is installed as sytxlabs/filesanitizer and uses the class SytxLabs\FileSanitizer\FileSanitizer.
Installation
composer require sytxlabs/laravel-filesanitizer
php artisan vendor:publish --tag=filesanitizer-config
Usage
use SytxLabs\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 SytxLabs\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.