@extends('layouts.public') @section('title', 'File Upload Demo') @section('page-title', 'File Upload Demo') @section('content')
Upload Single File
Max file size: 10MB
Upload Multiple Files
Max 10 files, 10MB per file
Get File Info
Usage Examples
1. Upload File (PHP):
use App\Services\FileService;

// Upload single file
$path = FileService::upload($request->file('file'), 'uploads', 'public');

// Upload multiple files
$paths = FileService::uploadMultiple($request->file('files'), 'uploads', 'public');
2. Get File URL:
$url = FileService::url($path, 'public');
// Output: https://yourdomain.com/storage/uploads/example.jpg
3. Download File:
return FileService::download($path, 'public');
4. Delete File:
$deleted = FileService::delete($path, 'public');
5. Get File Info:
$info = FileService::info($path, 'public');
// Returns: path, url, exists, size, size_human, mime_type
6. Validate File:
// Validate file type
$isValidType = FileService::validateFileType($file, ['jpg', 'png', 'pdf']);

// Validate file size (max 5MB)
$isValidSize = FileService::validateFileSize($file, 5);
7. Upload Logo for LBB:
// In Controller
$path = FileService::upload($request->file('logo'), 'logos', 'public');

// Update LBB Settings
auth()->user()->lbb->settings->update(['logo_path' => $path]);

// Display in View
@endsection