Skip to content

Upload your files with easy steps and many features (compression, resizing ..etc)

Notifications You must be signed in to change notification settings

Amin-Cheribet/File-Uploader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c04157a · Jun 6, 2024

History

90 Commits
Jun 6, 2024
Feb 16, 2022
May 28, 2023
Oct 12, 2020
Feb 15, 2022
Jun 6, 2024
Jun 6, 2024
Oct 12, 2020

Repository files navigation

File-Uploader

Simple Easy To use PHP File Uploader

install Via composer :

composer require mohamed-amine/file-uploader

How To Use :

Html :

Single file upload :
<form method="POST" enctype="multipart/form-data">
    <input type="file" name="myfile" /><br>
    <input type="submit" value="Upload File"/>
</form>
Multi files upload :
<form method="POST" enctype="multipart/form-data">
    <input type="file" name="myfile[]" /><br>
    <input type="file" name="myfile[]" /><br>
    <input type="file" name="myfile[]" /><br>
    <input type="submit" value="Upload File"/>
</form>

Simple File upload:

NOTE: every validation or other process should be done before uploading (calling save() method).

<?php
// create uploader instance
$file = Upload\Upload('myfile');

// upload files to defined directory
$data = $file->save('myDirectory');

var_dump($data);

// this will output an array which contains uploaded files data
// [
//      'id' => 'sf23s6sdf23s',
//      'name' => 'myFileName',
//      'path' => 'document/images/photo.jpg'
// ]
// 
// Or in case of multi file upload
//
// [
//      [
//          'id' => 'er23sfd3p4uo ',
//          'name' => 'photo1',
//          'path' => 'document/images/photo1.jpg'
//      ],
//      [
//          'id' => 'sf23s6sdf23s',
//          'name' => 'photo2',d
//          'path' => 'document/images/photo2.jpg'
//      ]
// ]
//

Validation:

Available validation methods are:

  • size(float $min, float $max) min & max are in MB
  • extension(array $allowed)
  • number(int $min, int $max = null)
$file = Upload\Upload('myfile');

// validate
$file->validate()->extension(['jpg', 'gif'])->size(0.5, 10)->number(2);

// check for validation errors
if ($file->isValide()) {
    var_dump($file->getErrors();
}

// upload files
$file->save('myDirectory');

Processing uploaded files:

Note: this function require php-gd to be installed on the server. currently only images can be processed, available methods are:

  • compress(int $quality) NOTE : compresssion level 0 to 100 lower is the most compressed and lowest quality
  • resize(int $width, int $height)
  • setName(array $names)
$file->process()->compress(75)->resize(500, 800)->setName(['firstname', 'secondname']);

// or

$file->process()->compress(75);
$file->process()->resize(500, 800);
$file->process()->setName(['firstname', 'secondname']);

$file->save('myDirectory');

contribution

any contribution will be welcomed.

About

Upload your files with easy steps and many features (compression, resizing ..etc)

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages