anekdotes / manager
Provides an easier way to upload images with configurations
Requires
- php: >=7.4.0
- anekdotes/file: ^2.0.0
- imagine/imagine: ^1.3.2
Requires (Dev)
- phpunit/phpunit: ^9
README
A library that provides an easy way to upload files to the server simply by using configurations.
Installation
Install via composer into your project:
composer require anekdotes/manager
Usage
Use the class where ever you need it:
use Anekdotes\Manager\Manager;
See configuration section below for more information
With Laravel:
$manager = new Manager(array); $manager->manage(Input::file('nameOfInput'));
Without Laravel:
$manager = new Manager(array); $manager->manage($_FILES['nameOfInput']);
Catch errors/exceptions:
try { $manager = new Manager(array); $manager->manage($_FILES['nameOfInput']); } catch (\Exception $e) { //do something }
Configurations
Instantiation
You can pass a config array to the Manager's constructor.
new Manager(array());
Available properties:
prefix : type string. Path's prefix to upload file (default: /public
)
'prefix' => '/public',
path : type string. Path to upload file (default: /uploads
)
'path' => 'uploads/',
exts : type array. Array of all supported file extensions (default: jpg, jpeg, png
)
'exts' => array('jpeg', 'jpg', 'png),
weight : type integer. Maximum file size in bytes (default: 3 mbs
)
'weight' => 3000000,
size : type array. Array containing as many sizes as needed (default: null
)
'size' => array( ),
Put together:
$manager = new Manager(array( 'prefix' => '/public', 'path' => 'uploads/', 'exts' => array('jpeg', 'jpg', 'png), 'weight' => 3000000 ));
Manage method's callback
You may pass a closure to the manage method to execute special code before uploading file such as creating an entry in the database or simply changing name.
$manager->manage($_FILES['nameOfInput'], function($fi){ //do something fancy return "potato.jpg"; });
With the above example and default configurations, the new file will be located at /public/uploads as potato.jpg.