PHP code example of mohamedsamy902 / advanced-file-upload
1. Go to this page and download the library: Download mohamedsamy902/advanced-file-upload library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
mohamedsamy902 / advanced-file-upload example snippets
use MohamedSamy902\LaravelMediaVault\Facades\MediaVault;
use Illuminate\Http\Request;
public function store(Request $request) {
// Single file
$result = MediaVault::upload($request, [
'field_name' => 'avatar',
'folder_name' => 'avatars',
'convert_to' => 'webp',
'quality' => 90
]);
// Batch files (using name="files[]" in HTML)
$results = MediaVault::upload($request, [
'field_name' => 'files' // Automatically processes all array items
]);
}
use MohamedSamy902\LaravelMediaVault\Facades\MediaVault;
// Assuming $file is an Illuminate\Http\UploadedFile instance
$result = MediaVault::upload($file, [
'disk' => 's3',
'folder_name' => 'documents',
]);
use MohamedSamy902\LaravelMediaVault\Facades\MediaVault;
public function store(Request $request) {
$request->validate(['avatar' => '' => 'webp',
]);
return back()->with('success', 'File uploaded: ' . $result->url);
}
use Illuminate\Database\Eloquent\Model;
use MohamedSamy902\LaravelMediaVault\Traits\HasUploads;
class User extends Model {
use HasUploads;
}
$user = User::find(1);
// Retrieve the latest image URL directly
$avatarUrl = $user->getMediaUrl('image', 'medium'); // Returns medium thumbnail or original
// Get all available thumbnails
$thumbnails = $user->getThumbnails();
use Illuminate\Database\Eloquent\Model;
use MohamedSamy902\LaravelMediaVault\Traits\HasMediaFields;
class Product extends Model {
use HasMediaFields;
// Define the custom media fields
protected array $mediaFields = [
'cover_image' => ['multiple' => false, 'disk' => 'public'],
'gallery' => ['multiple' => true, 'disk' => 's3'],
];
}
$product = Product::find(1);
$url = $product->getMediaUrl('cover_image');
// If thumbnails.enabled = true, they are generated silently on upload.
// If processing.image.watermark.enabled = true, it is applied directly to the original file.
$result = MediaVault::upload($request);
// Access thumbnails via response
$smallThumb = $result->toArray()['thumbnail_urls']['small'] ?? null;
use MohamedSamy902\LaravelMediaVault\Facades\MediaVault;
// Delete by Database ID
$result = MediaVault::delete(15);
// Delete by Path
$result = MediaVault::delete('uploads/default/image.webp');
// Bulk Delete by Array of IDs or Paths
$results = MediaVault::delete([15, 16, 'uploads/default/test.png']);
use MohamedSamy902\LaravelMediaVault\Security\BulkDeletionGuard;
use MohamedSamy902\LaravelMediaVault\Contracts\FileRepositoryContract;
$guard = new BulkDeletionGuard(app(FileRepositoryContract::class));
// Step 1: Preview and obtain a token
$preview = $guard->preview($paths, 'api');
// returns: ['token' => '...', 'count' => 150, '
use MohamedSamy902\LaravelMediaVault\Models\FileUpload;
$images = FileUpload::images()->get();
$videos = FileUpload::videos()->forUser(auth()->id())->get();
$orphans = FileUpload::unused()->get();
// File properties
$file->url; // Resolves CDN automatically
$file->human_size; // "1.5 MB"
$file->existsOnDisk(); // bool
$file->owner_exists; // Safely checks if the polymorphic owner model still exists